gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
linearSystemCSR.cpp File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <complex>
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "linearSystemCSR.h"
#include "OS.h"
Include dependency graph for linearSystemCSR.cpp:

Go to the source code of this file.

Macros

#define SWAP(a, b)
 
#define SWAPI(a, b)
 

Functions

static void * CSRMalloc (size_t size)
 
static void * CSRRealloc (void *ptr, size_t size)
 
static void CSRList_Realloc (CSRList_T *liste, int n)
 
static void CSRList_Resize_strict (CSRList_T *liste, int n)
 
static CSRList_TCSRList_Create (int n, int incr, int size)
 
static void CSRList_Delete (CSRList_T *liste)
 
void CSRList_Add (CSRList_T *liste, const void *data)
 
int CSRList_Nbr (CSRList_T *liste)
 
static void free_ivector (int *v, long nl, long nh)
 
static int * ivector (long nl, long nh)
 
static int cmpij (INDEX_TYPE ai, INDEX_TYPE aj, INDEX_TYPE bi, INDEX_TYPE bj)
 
template<class scalar >
static void _sort2_xkws (unsigned long n, scalar arr[], INDEX_TYPE ai[], INDEX_TYPE aj[])
 
template<class scalar >
void sortColumns_ (int NbLines, int nnz, INDEX_TYPE *ptr, INDEX_TYPE *jptr, INDEX_TYPE *ai, scalar *a)
 

Variables

const int NSTACK = 50
 
const unsigned int M_sort2 = 7
 

Macro Definition Documentation

◆ SWAP

#define SWAP (   a,
 
)
Value:
temp = (a); \
(a) = (b); \
(b) = temp;

Definition at line 16 of file linearSystemCSR.cpp.

◆ SWAPI

#define SWAPI (   a,
 
)
Value:
tempi = (a); \
(a) = (b); \
(b) = tempi;

Definition at line 20 of file linearSystemCSR.cpp.

Function Documentation

◆ _sort2_xkws()

template<class scalar >
static void _sort2_xkws ( unsigned long  n,
scalar  arr[],
INDEX_TYPE  ai[],
INDEX_TYPE  aj[] 
)
static

Definition at line 280 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ cmpij()

static int cmpij ( INDEX_TYPE  ai,
INDEX_TYPE  aj,
INDEX_TYPE  bi,
INDEX_TYPE  bj 
)
static

Definition at line 270 of file linearSystemCSR.cpp.

Referenced by _sort2_xkws().

Here is the caller graph for this function:

◆ CSRList_Add()

void CSRList_Add ( CSRList_T liste,
const void *  data 
)

Definition at line 86 of file linearSystemCSR.cpp.

Referenced by linearSystemCSR< scalar >::addToMatrix().

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

◆ CSRList_Create()

static CSRList_T* CSRList_Create ( int  n,
int  incr,
int  size 
)
static

Definition at line 58 of file linearSystemCSR.cpp.

Referenced by linearSystemCSR< scalar >::allocate().

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

◆ CSRList_Delete()

static void CSRList_Delete ( CSRList_T liste)
static

Definition at line 78 of file linearSystemCSR.cpp.

Referenced by linearSystemCSR< scalar >::allocate().

Here is the caller graph for this function:

◆ CSRList_Nbr()

int CSRList_Nbr ( CSRList_T liste)

◆ CSRList_Realloc()

static void CSRList_Realloc ( CSRList_T liste,
int  n 
)
static

Definition at line 34 of file linearSystemCSR.cpp.

Referenced by CSRList_Add(), and CSRList_Create().

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

◆ CSRList_Resize_strict()

static void CSRList_Resize_strict ( CSRList_T liste,
int  n 
)
static

Definition at line 51 of file linearSystemCSR.cpp.

Referenced by linearSystemCSR< scalar >::preAllocateEntries().

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

◆ CSRMalloc()

static void* CSRMalloc ( size_t  size)
static

Definition at line 24 of file linearSystemCSR.cpp.

Referenced by CSRList_Create(), and CSRList_Realloc().

Here is the caller graph for this function:

◆ CSRRealloc()

static void* CSRRealloc ( void *  ptr,
size_t  size 
)
static

Definition at line 32 of file linearSystemCSR.cpp.

Referenced by CSRList_Realloc(), and CSRList_Resize_strict().

Here is the caller graph for this function:

◆ free_ivector()

static void free_ivector ( int *  v,
long  nl,
long  nh 
)
static

Definition at line 255 of file linearSystemCSR.cpp.

Referenced by _sort2_xkws().

Here is the caller graph for this function:

◆ ivector()

static int* ivector ( long  nl,
long  nh 
)
static

Definition at line 261 of file linearSystemCSR.cpp.

Referenced by _sort2_xkws().

Here is the caller graph for this function:

◆ sortColumns_()

template<class scalar >
void sortColumns_ ( int  NbLines,
int  nnz,
INDEX_TYPE ptr,
INDEX_TYPE jptr,
INDEX_TYPE ai,
scalar *  a 
)

Definition at line 377 of file linearSystemCSR.cpp.

Referenced by linearSystemCSR< scalar >::getMatrix().

Here is the caller graph for this function:

Variable Documentation

◆ M_sort2

const unsigned int M_sort2 = 7

Definition at line 253 of file linearSystemCSR.cpp.

Referenced by _sort2_xkws().

◆ NSTACK

const int NSTACK = 50

Definition at line 252 of file linearSystemCSR.cpp.

Referenced by _sort2_xkws().