Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

FastUtils.h File Reference

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

#include <ogdf/basic/Graph.h>
#include <ogdf/basic/GraphList.h>
#include <ogdf/basic/System.h>
#include <ogdf/basic/basic.h>
#include <cstddef>
#include <cstdint>
#include <iostream>
#include <utility>

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

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

Macros

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

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< FunctionType > ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func)
 
template<typename FunctionType , typename ArgType1 >
FuncInvoker< FunctionType, ArgType1 > ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 >
FuncInvoker< FunctionType, ArgType1, ArgType2 > ogdf::fast_multipole_embedder::createFuncInvoker (FunctionType func, ArgType1 _arg1, ArgType2 _arg2)
 
template<typename FunctionType , typename ArgType1 , typename ArgType2 , typename ArgType3 >
FuncInvoker< FunctionType, ArgType1, ArgType2, ArgType3 > ogdf::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, ArgType4 > ogdf::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, ArgType5 > ogdf::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, ArgType6 > ogdf::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, ArgType8 > ogdf::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, ArgType8 > ogdf::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) More...
 
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) More...
 
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 More...
 
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 More...
 
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 126 of file FastUtils.h.

◆ OGDF_MALLOC_16

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

16-byte aligned memory allocation macro

Definition at line 123 of file FastUtils.h.