gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
ListUtils.cpp File Reference
#include "GmshConfig.h"
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include "MallocUtils.h"
#include "ListUtils.h"
#include "TreeUtils.h"
#include "GmshMessage.h"
Include dependency graph for ListUtils.cpp:

Go to the source code of this file.

Functions

int fcmp_int (const void *a, const void *b)
 
int fcmp_absint (const void *a, const void *b)
 
int fcmp_double (const void *a, const void *b)
 
List_TList_Create (int n, int incr, int size)
 
void List_Delete (List_T *liste)
 
void List_Realloc (List_T *liste, int n)
 
void List_Add (List_T *liste, void *data)
 
void List_Add (List_T *liste, int data)
 
int List_Nbr (List_T *liste)
 
void List_Read (List_T *liste, int index, void *data)
 
void List_Write (List_T *liste, int index, void *data)
 
void List_Put (List_T *liste, int index, void *data)
 
void List_Pop (List_T *liste)
 
void * List_Pointer (List_T *liste, int index)
 
void * List_Pointer_NoChange (List_T *liste, int index)
 
void * List_Pointer_Fast (List_T *liste, int index)
 
void List_Sort (List_T *liste, int(*fcmp)(const void *a, const void *b))
 
void List_Unique (List_T *liste, int(*fcmp)(const void *a, const void *b))
 
int List_Search (List_T *liste, void *data, int(*fcmp)(const void *a, const void *b))
 
int List_ISearchSeq (List_T *liste, void *data, int(*fcmp)(const void *a, const void *b))
 
void * List_PQuery (List_T *liste, void *data, int(*fcmp)(const void *a, const void *b))
 
int List_Suppress (List_T *liste, void *data, int(*fcmp)(const void *a, const void *b))
 
int List_PSuppress (List_T *liste, int index)
 
void List_Invert (List_T *a, List_T *b)
 
void List_Reset (List_T *liste)
 
void List_Action (List_T *liste, void(*action)(void *data, void *dummy))
 
void List_Copy (List_T *a, List_T *b)
 
void List_Remove (List_T *a, int i)
 
void List_Insert_In_List (List_T *a, int i, List_T *b)
 
List_TListOfDouble2ListOfInt (List_T *dList)
 

Function Documentation

◆ fcmp_absint()

int fcmp_absint ( const void *  a,
const void *  b 
)

◆ fcmp_double()

int fcmp_double ( const void *  a,
const void *  b 
)

Definition at line 33 of file ListUtils.cpp.

◆ fcmp_int()

int fcmp_int ( const void *  a,
const void *  b 
)

Definition at line 26 of file ListUtils.cpp.

Referenced by allEdgesLinked(), allFacesLinked(), and GEO_Internals::modifyPhysicalGroup().

Here is the caller graph for this function:

◆ List_Action()

void List_Action ( List_T liste,
void(*)(void *data, void *dummy)  action 
)

Definition at line 275 of file ListUtils.cpp.

Referenced by GEO_Internals::_freeAll(), and GEO_Internals::resetPhysicalGroups().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Add() [1/2]

void List_Add ( List_T liste,
int  data 
)

Definition at line 100 of file ListUtils.cpp.

Here is the call graph for this function:

◆ List_Add() [2/2]

void List_Add ( List_T liste,
void *  data 
)

Definition at line 90 of file ListUtils.cpp.

Referenced by GEO_Internals::_addCompoundSpline(), GEO_Internals::_extrude(), GEO_Internals::_transform(), GEO_Internals::addBezier(), GEO_Internals::addBSpline(), GEO_Internals::addCircleArc(), GEO_Internals::addCurveLoop(), GEO_Internals::addCurveLoops(), GEO_Internals::addEllipseArc(), GEO_Internals::addLine(), GEO_Internals::addPlaneSurface(), GEO_Internals::addSpline(), GEO_Internals::addSurfaceFilling(), GEO_Internals::addSurfaceLoop(), GEO_Internals::addVolume(), allEdgesLinked(), allFacesLinked(), ApplyTransformationToPoint(), CreateCurve(), createEdgeLinks(), CreateEdgeLoop(), createFaceLinks(), CreatePhysicalGroup(), CreateReversedCurve(), CreateSurfaceLoop(), DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), DuplicateCurve(), DuplicateSurface(), GModel::exportDiscreteGEOInternals(), ExtrudeCurve(), ExtrudePoint(), ExtrudeShapes(), ExtrudeSurface(), getAllElementaryTags(), getAllPhysicalTags(), getBoundingBox(), getElementaryTagsForPhysicalGroups(), getElementaryTagsInBoundingBox(), getParentTags(), InterpolateBezier(), GEO_Internals::intersectCurvesWithSurface(), IntersectCurvesWithSurface(), List_Add(), List_Copy(), List_Invert(), ListOfDouble2ListOfInt(), GEO_Internals::modifyPhysicalGroup(), orientAndSortEdges(), recurFindLinkedEdges(), recurFindLinkedFaces(), RemoveDegenerateCurves(), RemoveDegenerateSurfaces(), RemoveDegenerateVolumes(), SetSurfaceGeneratrices(), GEO_Internals::setTransfiniteSurface(), GEO_Internals::setTransfiniteVolume(), SetVolumeSurfaces(), SortEdgesInLoop(), GEO_Internals::splitCurve(), SplitCurve(), TransferList(), treat_Struct_FullName_dot_tSTRING_ListOfFloat(), treat_Struct_FullName_dot_tSTRING_ListOfString(), and VectorOfPairs2ListOfShapes().

Here is the call graph for this function:

◆ List_Copy()

void List_Copy ( List_T a,
List_T b 
)

Definition at line 283 of file ListUtils.cpp.

Referenced by Compare2Lists(), CopyCurve(), CopySurface(), CopyVolume(), and orientAndSortEdges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Create()

◆ List_Delete()

void List_Delete ( List_T liste)

Definition at line 66 of file ListUtils.cpp.

Referenced by GEO_Internals::_addCompoundSpline(), GEO_Internals::_extrude(), GEO_Internals::_freeAll(), GEO_Internals::_transform(), GEO_Internals::addBezier(), GEO_Internals::addBSpline(), GEO_Internals::addCircleArc(), GEO_Internals::addCurveLoop(), GEO_Internals::addCurveLoops(), GEO_Internals::addEllipseArc(), GEO_Internals::addLine(), GEO_Internals::addPlaneSurface(), GEO_Internals::addSpline(), GEO_Internals::addSurfaceFilling(), GEO_Internals::addSurfaceLoop(), GEO_Internals::addVolume(), ApplicationOnShapes(), Compare2Lists(), DeleteCurve(), DeletePoint(), DeleteSurface(), FreeCurve(), FreeEdgeLoop(), freeLink(), FreePhysicalGroup(), FreeSurface(), FreeSurfaceLoop(), FreeVolume(), InterpolateBezier(), ListOfListOfDouble2Matrix(), GEO_Internals::modifyPhysicalGroup(), orientAndSortEdges(), RecognizeLineLoop(), RecognizeSurfaceLoop(), RemoveDegenerateCurves(), RemoveDegenerateSurfaces(), RemoveDegenerateVolumes(), ReplaceDuplicateCurves(), ReplaceDuplicatePoints(), ReplaceDuplicatePointsNew(), ReplaceDuplicateSurfaces(), GEO_Internals::setRecombine(), GEO_Internals::setReverseMesh(), GEO_Internals::setSmoothing(), SetSurfaceGeneratrices(), GEO_Internals::setTransfiniteLine(), GEO_Internals::setTransfiniteSurface(), GEO_Internals::setTransfiniteVolume(), GEO_Internals::setTransfiniteVolumeQuadTri(), SortEdgesInLoop(), GEO_Internals::splitCurve(), SplitCurve(), and GEO_Internals::synchronize().

Here is the call graph for this function:

◆ List_Insert_In_List()

void List_Insert_In_List ( List_T a,
int  i,
List_T b 
)

Definition at line 302 of file ListUtils.cpp.

Referenced by SplitCurve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Invert()

void List_Invert ( List_T a,
List_T b 
)

Definition at line 259 of file ListUtils.cpp.

Referenced by CreateReversedCurve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_ISearchSeq()

int List_ISearchSeq ( List_T liste,
void *  data,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 214 of file ListUtils.cpp.

Referenced by allEdgesLinked(), allFacesLinked(), recurFindLinkedEdges(), and recurFindLinkedFaces().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Nbr()

int List_Nbr ( List_T liste)

Definition at line 106 of file ListUtils.cpp.

Referenced by _create_splitted_curve(), GEO_Internals::_extrude(), GEO_Internals::addSurfaceFilling(), allEdgesLinked(), allFacesLinked(), ApplicationOnShapes(), ApplyTransformationToCurve(), ApplyTransformationToSurface(), ApplyTransformationToVolume(), assignVariables(), Compare2Lists(), CompareTwoCurves(), CompareTwoSurfaces(), gmshFace::containsPoint(), CopyCurve(), CopySurface(), CopyVolume(), CreateCurve(), CreateEdgeLoop(), CreatePhysicalGroup(), CreateReversedCurve(), CreateSurfaceLoop(), Curve::degenerate(), Surface::degenerate(), DeleteCurve(), DeletePoint(), DeleteSurface(), DeleteVolume(), gmshEdge::discretize(), discretizeCurve(), DuplicateCurve(), DuplicateSurface(), DuplicateVolume(), EndCurve(), EndSurface(), ExtrudeCurve(), ExtrudeShapes(), ExtrudeSurface(), gmshEdge::getAdditionalInfoString(), getBoundingBox(), getElementaryTagsForPhysicalGroups(), getParentTags(), InterpolateBezier(), InterpolateCurve(), InterpolateExtrudedSurface(), InterpolateNurbs(), InterpolateRuledSurface(), InterpolateUBS(), GEO_Internals::intersectCurvesWithSurface(), IntersectCurvesWithSurface(), list2String(), List_Action(), List_Copy(), List_Invert(), List_ISearchSeq(), List_Unique(), ListOfDouble2ListOfInt(), ListOfDouble2Vector(), ListOfListOfDouble2Matrix(), ListOfShapes2VectorOfPairs(), gmshEdge::minimumDrawSegments(), GEO_Internals::modifyPhysicalGroup(), gmshFace::normal(), orientAndSortEdges(), printListOfDouble(), RecognizeLineLoop(), RecognizeSurfaceLoop(), recurFindLinkedEdges(), recurFindLinkedFaces(), RemoveDegenerateCurves(), RemoveDegenerateSurfaces(), RemoveDegenerateVolumes(), gmshEdge::reparamOnFace(), ReplaceDuplicateCurves(), ReplaceDuplicatePoints(), ReplaceDuplicatePointsNew(), ReplaceDuplicateSurfaces(), gmshRegion::resetMeshAttributes(), gmshFace::resetMeshAttributes(), discreteFace::resetMeshAttributes(), gmshRegion::resetNativePtr(), gmshFace::resetNativePtr(), setMeshSizeFromCurvePoints(), GEO_Internals::setRecombine(), GEO_Internals::setReverseMesh(), GEO_Internals::setSmoothing(), SetSurfaceGeneratrices(), GEO_Internals::setTransfiniteLine(), GEO_Internals::setTransfiniteSurface(), GEO_Internals::setTransfiniteVolume(), GEO_Internals::setTransfiniteVolumeQuadTri(), SetVolumeSurfaces(), SortEdgesInLoop(), GEO_Internals::splitCurve(), SplitCurve(), GEO_Internals::synchronize(), and gmshEdge::writeGEO().

◆ List_Pointer()

◆ List_Pointer_Fast()

void* List_Pointer_Fast ( List_T liste,
int  index 
)

Definition at line 171 of file ListUtils.cpp.

Referenced by List_Insert_In_List(), and ListOfListOfDouble2Matrix().

Here is the caller graph for this function:

◆ List_Pointer_NoChange()

void* List_Pointer_NoChange ( List_T liste,
int  index 
)

Definition at line 162 of file ListUtils.cpp.

Referenced by List_Action(), and List_PSuppress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Pop()

void List_Pop ( List_T liste)

Definition at line 146 of file ListUtils.cpp.

◆ List_PQuery()

void* List_PQuery ( List_T liste,
void *  data,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 225 of file ListUtils.cpp.

Referenced by FindPhysicalGroup(), and List_Suppress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_PSuppress()

int List_PSuppress ( List_T liste,
int  index 
)

Definition at line 248 of file ListUtils.cpp.

Referenced by SortEdgesInLoop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Put()

void List_Put ( List_T liste,
int  index,
void *  data 
)

Definition at line 130 of file ListUtils.cpp.

Here is the call graph for this function:

◆ List_Read()

void List_Read ( List_T liste,
int  index,
void *  data 
)

Definition at line 111 of file ListUtils.cpp.

Referenced by _create_splitted_curve(), GEO_Internals::_extrude(), allEdgesLinked(), allFacesLinked(), ApplicationOnShapes(), ApplyTransformationToCurve(), ApplyTransformationToSurface(), ApplyTransformationToVolume(), CompareTwoCurves(), gmshFace::containsPoint(), CreateCurve(), CreateEdgeLoop(), CreatePhysicalGroup(), CreateReversedCurve(), CreateSurfaceLoop(), curveGetPoint(), Surface::degenerate(), DeleteCurve(), DeletePoint(), DeleteSurface(), DeleteVolume(), DuplicateCurve(), DuplicateSurface(), DuplicateVolume(), EndCurve(), EndSurface(), ExtrudeCurve(), ExtrudeShapes(), ExtrudeSurface(), gmshEdge::getAdditionalInfoString(), getBoundingBox(), getElementaryTagsForPhysicalGroups(), getParentTags(), InterpolateBezier(), InterpolateCurve(), InterpolateNurbs(), InterpolateRuledSurface(), InterpolateUBS(), GEO_Internals::intersectCurvesWithSurface(), IntersectCurvesWithSurface(), list2String(), ListOfDouble2ListOfInt(), ListOfDouble2Vector(), ListOfListOfDouble2Matrix(), ListOfShapes2VectorOfPairs(), gmshFace::normal(), orientAndSortEdges(), printListOfDouble(), RecognizeLineLoop(), RecognizeSurfaceLoop(), recurFindLinkedEdges(), recurFindLinkedFaces(), RemoveDegenerateCurves(), RemoveDegenerateSurfaces(), RemoveDegenerateVolumes(), gmshVertex::reparamOnFace(), gmshEdge::reparamOnFace(), ReplaceDuplicateCurves(), ReplaceDuplicatePoints(), ReplaceDuplicatePointsNew(), ReplaceDuplicateSurfaces(), gmshRegion::resetMeshAttributes(), gmshFace::resetMeshAttributes(), discreteFace::resetMeshAttributes(), gmshRegion::resetNativePtr(), gmshFace::resetNativePtr(), setMeshSizeFromCurvePoints(), GEO_Internals::setRecombine(), GEO_Internals::setReverseMesh(), GEO_Internals::setSmoothing(), SetSurfaceGeneratrices(), GEO_Internals::setTransfiniteLine(), GEO_Internals::setTransfiniteSurface(), GEO_Internals::setTransfiniteVolume(), GEO_Internals::setTransfiniteVolumeQuadTri(), SetVolumeSurfaces(), SortEdgesInLoop(), GEO_Internals::splitCurve(), SplitCurve(), GEO_Internals::synchronize(), and gmshEdge::writeGEO().

Here is the call graph for this function:

◆ List_Realloc()

void List_Realloc ( List_T liste,
int  n 
)

Definition at line 73 of file ListUtils.cpp.

Referenced by List_Add(), List_Create(), List_Insert_In_List(), and List_Put().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Remove()

void List_Remove ( List_T a,
int  i 
)

Definition at line 293 of file ListUtils.cpp.

Referenced by SplitCurve().

Here is the caller graph for this function:

◆ List_Reset()

◆ List_Search()

int List_Search ( List_T liste,
void *  data,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 199 of file ListUtils.cpp.

Referenced by ApplicationOnShapes(), ApplyTransformationToPoint(), and orientAndSortEdges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Sort()

void List_Sort ( List_T liste,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 176 of file ListUtils.cpp.

Referenced by Compare2Lists(), List_PQuery(), List_Search(), and List_Unique().

Here is the caller graph for this function:

◆ List_Suppress()

int List_Suppress ( List_T liste,
void *  data,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 236 of file ListUtils.cpp.

Referenced by DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), and GEO_Internals::modifyPhysicalGroup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ List_Unique()

void List_Unique ( List_T liste,
int(*)(const void *a, const void *b)  fcmp 
)

Definition at line 182 of file ListUtils.cpp.

Here is the call graph for this function:

◆ List_Write()

void List_Write ( List_T liste,
int  index,
void *  data 
)

Definition at line 120 of file ListUtils.cpp.

Referenced by DuplicateCurve(), DuplicateSurface(), DuplicateVolume(), InterpolateBezier(), List_Put(), List_Unique(), ReplaceDuplicateCurves(), ReplaceDuplicatePoints(), ReplaceDuplicatePointsNew(), and ReplaceDuplicateSurfaces().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ListOfDouble2ListOfInt()

List_T* ListOfDouble2ListOfInt ( List_T dList)

Definition at line 315 of file ListUtils.cpp.

Here is the call graph for this function: