colamd.h File Reference

Colamd prototypes and definitions. More...

`#include <stdlib.h>`
Include dependency graph for colamd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | Colamd_Col_struct
struct | Colamd_Row_struct

## Macros

#define | COLAMD_KNOBS 20
#define | COLAMD_STATS 20
#define | COLAMD_DENSE_ROW 0
#define | COLAMD_DENSE_COL 1
#define | COLAMD_DEFRAG_COUNT 2
#define | COLAMD_STATUS 3
#define | COLAMD_INFO1 4
#define | COLAMD_INFO2 5
#define | COLAMD_INFO3 6
#define | COLAMD_OK (0)
#define | COLAMD_OK_BUT_JUMBLED (1)
#define | COLAMD_ERROR_A_not_present (-1)
#define | COLAMD_ERROR_p_not_present (-2)
#define | COLAMD_ERROR_nrow_negative (-3)
#define | COLAMD_ERROR_ncol_negative (-4)
#define | COLAMD_ERROR_nnz_negative (-5)
#define | COLAMD_ERROR_p0_nonzero (-6)
#define | COLAMD_ERROR_A_too_small (-7)
#define | COLAMD_ERROR_col_length_negative (-8)
#define | COLAMD_ERROR_row_index_out_of_bounds (-9)
#define | COLAMD_ERROR_out_of_memory (-10)
#define | COLAMD_ERROR_internal_error (-999)
#define | COLAMD_C(n_col) ((int) (((n_col) + 1) * sizeof (Colamd_Col) / sizeof (int)))
#define | COLAMD_R(n_row) ((int) (((n_row) + 1) * sizeof (Colamd_Row) / sizeof (int)))
#define | COLAMD_RECOMMENDED(nnz, n_row, n_col)

## Typedefs

typedef struct Colamd_Col_struct | Colamd_Col
typedef struct Colamd_Row_struct | Colamd_Row

## Functions

int | colamd_recommended (int nnz, int n_row, int n_col)
void | colamd_set_defaults (double knobs[COLAMD_KNOBS])
int | colamd (int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS])
int | symamd (int n, int A[], int p[], int perm[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *))
void | colamd_report (int stats[COLAMD_STATS])
void | symamd_report (int stats[COLAMD_STATS])

## Detailed Description

Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)

All rights reserved.

The source code is distributed under BSD license, see the file License.txt at the top-level directory.

<

# pre>

# === colamd/symamd prototypes and definitions =============================

You must include this file (colamd.h) in any routine that uses colamd, symamd, or the related macros and definitions.

Authors:

    The authors of the code itself are Stefan I. Larimore and Timothy A.
    Davis (davis@cise.ufl.edu), University of Florida.  The algorithm was
    developed in collaboration with John Gilbert, Xerox PARC, and Esmond
    Ng, Oak Ridge National Laboratory.

Date:

    September 8, 2003.  Version 2.3.

Acknowledgements:

    This work was supported by the National Science Foundation, under
    grants DMS-9504974 and DMS-9803599.

Notice:

    Copyright (c) 1998-2003 by the University of Florida.
    All Rights Reserved.

    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.

    Permission is hereby granted to use, copy, modify, and/or distribute
    this program, provided that the Copyright, this License, and the
    Availability of the original version is retained on all copies and made
    accessible to the end-user of any code or package that includes COLAMD
    or any modified version of COLAMD.

Availability:

    The colamd/symamd library is available at

        http://www.cise.ufl.edu/research/sparse/colamd/

    This is the http://www.cise.ufl.edu/research/sparse/colamd/colamd.h
    file.  It is required by the colamd.c, colamdmex.c, and symamdmex.c
    files, and by any C code that calls the routines whose prototypes are
    listed below, or that uses the colamd/symamd definitions listed below.

## Macro Definition Documentation

#define COLAMD_C | ( |  | n_col | ) | ((int) (((n_col) + 1) * sizeof (Colamd_Col) / sizeof (int)))

#define COLAMD_DEFRAG_COUNT 2

#define COLAMD_DENSE_COL 1

#define COLAMD_DENSE_ROW 0

#define COLAMD_ERROR_A_not_present (-1)

#define COLAMD_ERROR_A_too_small (-7)

#define COLAMD_ERROR_col_length_negative (-8)

#define COLAMD_ERROR_internal_error (-999)

#define COLAMD_ERROR_ncol_negative (-4)

#define COLAMD_ERROR_nnz_negative (-5)

#define COLAMD_ERROR_nrow_negative (-3)

#define COLAMD_ERROR_out_of_memory (-10)

#define COLAMD_ERROR_p0_nonzero (-6)

#define COLAMD_ERROR_p_not_present (-2)

#define COLAMD_ERROR_row_index_out_of_bounds (-9)

#define COLAMD_INFO1 4

#define COLAMD_INFO2 5

#define COLAMD_INFO3 6

#define COLAMD_KNOBS 20

#define COLAMD_OK (0)

#define COLAMD_OK_BUT_JUMBLED (1)

#define COLAMD_R | ( |  | n_row | ) | ((int) (((n_row) + 1) * sizeof (Colamd_Row) / sizeof (int)))

#define COLAMD_RECOMMENDED | ( |  | nnz,
|  |  | n_row,
|  |  | n_col
| ) |  |

Value:
( \
((nnz) < 0 || (n_row) < 0 || (n_col) < 0) \
? \
(-1) \
: \
(2 * (nnz) + COLAMD_C (n_col) + COLAMD_R (n_row) + (n_col) + ((nnz) / 5)) \
)
COLAMD_R
#define COLAMD_R(n_row)
Definition: colamd.h:194
COLAMD_C
#define COLAMD_C(n_col)
Definition: colamd.h:193

#define COLAMD_STATS 20

#define COLAMD_STATUS 3

## Typedef Documentation

typedef struct Colamd_Col_struct Colamd_Col

typedef struct Colamd_Row_struct Colamd_Row

## Function Documentation

int colamd | ( | int | n_row,
|  | int | n_col,
|  | int | Alen,
|  | int | A[],
|  | int | p[],
|  | double | knobs[COLAMD_KNOBS],
|  | int | stats[COLAMD_STATS]
| ) |  |

Here is the call graph for this function:

int colamd_recommended | ( | int | nnz,
|  | int | n_row,
|  | int | n_col
| ) |  |

void colamd_report | ( | int | stats[COLAMD_STATS] | ) |

Here is the call graph for this function:

void colamd_set_defaults | ( | double | knobs[COLAMD_KNOBS] | ) |

int symamd | ( | int | n,
|  | int | A[],
|  | int | p[],
|  | int | perm[],
|  | double | knobs[COLAMD_KNOBS],
|  | int | stats[COLAMD_STATS],
|  | void *(*)(size_t, size_t) | allocate,
|  | void(*)(void *) | release
| ) |  |

Here is the call graph for this function:

void symamd_report | ( | int | stats[COLAMD_STATS] | ) |

Here is the call graph for this function: