Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
FastUtils.h File Reference

Definition of utility functions for FME layout. More...

Go to the source code of this file.

Classes

class  ogdf::fast_multipole_embedder::BinCoeff< TYP >
 binomial coeffs from Hachuls FMMM More...
 
struct  ogdf::fast_multipole_embedder::EmptyArgType
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6, ArgType7, ArgType8 >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6, ArgType7, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, EmptyArgType, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, ArgType2, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, ArgType1, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType >
 
struct  ogdf::fast_multipole_embedder::FuncInvoker< FunctionType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType, EmptyArgType >
 
class  ogdf::fast_multipole_embedder::RandomNodeSet
 utility class to select multiple nodes randomly More...
 

Namespaces

namespace  ogdf
 The namespace for all OGDF objects.
 
namespace  ogdf::fast_multipole_embedder
 

Macros

#define OGDF_FREE_16(ptr)   System::alignedMemoryFree((ptr))
 16-byte aligned memory deallocation macro
 
#define OGDF_MALLOC_16(s)   System::alignedMemoryAlloc16((s))
 16-byte aligned memory allocation macro
 

Typedefs

using ogdf::fast_multipole_embedder::CoordInt = uint32_t
 
using ogdf::fast_multipole_embedder::MortonNR = uint64_t
 

Functions

template<typename T >
T * ogdf::fast_multipole_embedder::align_16_next_ptr (T *t)
 
template<typename T >
T * ogdf::fast_multipole_embedder::align_16_prev_ptr (T *t)
 
template<typename FunctionType >
FuncInvoker< FunctionTypeogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func)
 
template<typename FunctionType , typename ArgType1 >
FuncInvoker< FunctionType, ArgType1ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 >
FuncInvoker< FunctionType, ArgType1, ArgType2ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3, ArgType4 _arg4)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename ArgType5 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3, ArgType4 _arg4, ArgType5 _arg5)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename ArgType5 , typename ArgType6 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3, ArgType4 _arg4, ArgType5 _arg5, ArgType6 _arg6)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename ArgType5 , typename ArgType6 , typename ArgType7 , typename ArgType8 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6, ArgType7, ArgType8ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3, ArgType4 _arg4, ArgType5 _arg5, ArgType6 _arg6, ArgType7 _arg7)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename ArgType5 , typename ArgType6 , typename ArgType7 , typename ArgType8 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3, ArgType4, ArgType5, ArgType6, ArgType7, ArgType8ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2, ArgType3 _arg3, ArgType4 _arg4, ArgType5 _arg5, ArgType6 _arg6, ArgType7 _arg7, ArgType8 _arg8)
 
void ogdf::fast_multipole_embedder::gridGraph (Graph &G, int n, int m)
 
template<typename T >
bool ogdf::fast_multipole_embedder::is_align_16 (T *ptr)
 
template<typename MNR_T , typename C_T >
MNR_T ogdf::fast_multipole_embedder::mortonNumber (C_T ix, C_T iy)
 common template for bit-interleaving to compute the morton number assumes sizeOf(MNR_T) = 2*sizeOf(C_T)
 
template<typename MNR_T , typename C_T >
void ogdf::fast_multipole_embedder::mortonNumberInv (MNR_T mnr, C_T &x, C_T &y)
 common template for extracting the coordinates from a morton number assumes sizeOf(MNR_T) = 2*sizeOf(C_T)
 
template<typename T >
uint32_t ogdf::fast_multipole_embedder::mostSignificantBit (T n)
 returns the index of the most signficant bit set. 0 = most signif, bitlength-1 = least signif
 
void ogdf::fast_multipole_embedder::OGDF_FME_Print_Config ()
 
uint32_t ogdf::fast_multipole_embedder::prevPowerOfTwo (uint32_t n)
 returns the prev power of two
 
void ogdf::fast_multipole_embedder::printProfiledTime (double t, const char *text)
 
void ogdf::fast_multipole_embedder::printProfiledTime (double t, double sum, const char *text)
 
void ogdf::fast_multipole_embedder::randomGridGraph (Graph &G, int n, int m, double missinNodesPercentage=0.03)
 

Detailed Description

Definition of utility functions for FME layout.

Author
Martin Gronemann
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file FastUtils.h.

Macro Definition Documentation

◆ OGDF_FREE_16

#define OGDF_FREE_16 (   ptr)    System::alignedMemoryFree((ptr))

16-byte aligned memory deallocation macro

Definition at line 119 of file FastUtils.h.

◆ OGDF_MALLOC_16

#define OGDF_MALLOC_16 (   s)    System::alignedMemoryAlloc16((s))

16-byte aligned memory allocation macro

Definition at line 116 of file FastUtils.h.