GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
symrcm.cc File Reference
#include <algorithm>
#include "CSparse.h"
#include "boolNDArray.h"
#include "dNDArray.h"
#include "dSparse.h"
#include "oct-locbuf.h"
#include "oct-sparse.h"
#include "quit.h"
#include "defun-dld.h"
#include "errwarn.h"
#include "ov.h"
#include "ovl.h"
Include dependency graph for symrcm.cc:

Go to the source code of this file.

Classes

struct  CMK_Node
 

Macros

#define H_empty(H, h)   ((h) == 0)
 
#define LEFT(i)   (((i) << 1) + 1)
 
#define PARENT(i)   (((i) - 1) >> 1)
 
#define Q_empty(Q, N, qh, qt)   ((qh) == (qt))
 
#define RIGHT(i)   (((i) << 1) + 2)
 

Functions

static octave_idx_type calc_degrees (octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *D)
 
static octave_idx_type find_starting_node (octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, const octave_idx_type *ridx2, const octave_idx_type *cidx2, octave_idx_type *D, octave_idx_type start)
 
OCTAVE_EXPORT octave_value_list Fsymrcm (const octave_value_list &, int)
 
C OCTAVE_EXPORT octave_functionGsymrcm (const octave::dynamic_library &shl, bool relative)
 
static void H_heapify_min (CMK_Node *A, octave_idx_type i, octave_idx_type size)
 
static void H_insert (CMK_Node *H, octave_idx_type &h, const CMK_Node &o)
 
static CMK_Node H_remove_min (CMK_Node *H, octave_idx_type &h, int reorg)
 
static CMK_Node Q_deq (CMK_Node *Q, octave_idx_type N, octave_idx_type &qh)
 
static void Q_enq (CMK_Node *Q, octave_idx_type N, octave_idx_type &qt, const CMK_Node &o)
 
static void transpose (octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)
 

Macro Definition Documentation

◆ H_empty

#define H_empty (   H,
  h 
)    ((h) == 0)

Definition at line 189 of file symrcm.cc.

Referenced by Gsymrcm().

◆ LEFT

#define LEFT (   i)    (((i) << 1) + 1)

Definition at line 112 of file symrcm.cc.

Referenced by H_heapify_min().

◆ PARENT

#define PARENT (   i)    (((i) - 1) >> 1)

Definition at line 116 of file symrcm.cc.

Referenced by H_insert().

◆ Q_empty

#define Q_empty (   Q,
  N,
  qh,
  qt 
)    ((qh) == (qt))

Definition at line 107 of file symrcm.cc.

Referenced by find_starting_node(), and Gsymrcm().

◆ RIGHT

#define RIGHT (   i)    (((i) << 1) + 2)

Definition at line 114 of file symrcm.cc.

Referenced by H_heapify_min().

Function Documentation

◆ calc_degrees()

static octave_idx_type calc_degrees ( octave_idx_type  N,
const octave_idx_type ridx,
const octave_idx_type cidx,
octave_idx_type D 
)
static

Definition at line 333 of file symrcm.cc.

References found, i, k, and N.

Referenced by Gsymrcm().

◆ find_starting_node()

static octave_idx_type find_starting_node ( octave_idx_type  N,
const octave_idx_type ridx,
const octave_idx_type cidx,
const octave_idx_type ridx2,
const octave_idx_type cidx2,
octave_idx_type D,
octave_idx_type  start 
)
static

◆ Fsymrcm()

OCTAVE_EXPORT octave_value_list Fsymrcm ( const octave_value_list ,
int   
)

◆ Gsymrcm()

◆ H_heapify_min()

static void H_heapify_min ( CMK_Node A,
octave_idx_type  i,
octave_idx_type  size 
)
static

Definition at line 122 of file symrcm.cc.

References A, i, LEFT, RIGHT, and swap.

Referenced by H_remove_min().

◆ H_insert()

static void H_insert ( CMK_Node H,
octave_idx_type h,
const CMK_Node o 
)
static

Definition at line 152 of file symrcm.cc.

References h, i, p, PARENT, and swap.

Referenced by Gsymrcm().

◆ H_remove_min()

static CMK_Node H_remove_min ( CMK_Node H,
octave_idx_type h,
int  reorg 
)
inlinestatic

Definition at line 179 of file symrcm.cc.

References h, and H_heapify_min().

Referenced by Gsymrcm().

◆ Q_deq()

static CMK_Node Q_deq ( CMK_Node Q,
octave_idx_type  N,
octave_idx_type qh 
)
inlinestatic

Definition at line 99 of file symrcm.cc.

References N, and Q.

Referenced by find_starting_node(), and Gsymrcm().

◆ Q_enq()

static void Q_enq ( CMK_Node Q,
octave_idx_type  N,
octave_idx_type qt,
const CMK_Node o 
)
inlinestatic

Definition at line 90 of file symrcm.cc.

References N, and Q.

Referenced by find_starting_node(), and Gsymrcm().

◆ transpose()