#ifndef CAMD_H
#define CAMD_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stddef.h>
#include "SuiteSparse_config.h"
int camd_order
(
int n,
const int Ap [ ],
const int Ai [ ],
int P [ ],
double Control [ ],
double Info [ ],
const int C [ ]
) ;
SuiteSparse_long camd_l_order
(
SuiteSparse_long n,
const SuiteSparse_long Ap [ ],
const SuiteSparse_long Ai [ ],
SuiteSparse_long P [ ],
double Control [ ],
double Info [ ],
const SuiteSparse_long C [ ]
) ;
void camd_2
(
int n,
int Pe [ ],
int Iw [ ],
int Len [ ],
int iwlen,
int pfree,
int Nv [ ],
int Next [ ],
int Last [ ],
int Head [ ],
int Elen [ ],
int Degree [ ],
int W [ ],
double Control [ ],
double Info [ ],
const int C [ ],
int BucketSet [ ]
) ;
void camd_l2
(
SuiteSparse_long n,
SuiteSparse_long Pe [ ],
SuiteSparse_long Iw [ ],
SuiteSparse_long Len [ ],
SuiteSparse_long iwlen,
SuiteSparse_long pfree,
SuiteSparse_long Nv [ ],
SuiteSparse_long Next [ ],
SuiteSparse_long Last [ ],
SuiteSparse_long Head [ ],
SuiteSparse_long Elen [ ],
SuiteSparse_long Degree [ ],
SuiteSparse_long W [ ],
double Control [ ],
double Info [ ],
const SuiteSparse_long C [ ],
SuiteSparse_long BucketSet [ ]
) ;
int camd_valid
(
int n_row,
int n_col,
const int Ap [ ],
const int Ai [ ]
) ;
SuiteSparse_long camd_l_valid
(
SuiteSparse_long n_row,
SuiteSparse_long n_col,
const SuiteSparse_long Ap [ ],
const SuiteSparse_long Ai [ ]
) ;
int camd_cvalid
(
int n,
const int C [ ]
) ;
SuiteSparse_long camd_l_cvalid
(
SuiteSparse_long n,
const SuiteSparse_long C [ ]
) ;
void camd_defaults (double Control [ ]) ;
void camd_l_defaults (double Control [ ]) ;
void camd_control (double Control [ ]) ;
void camd_l_control (double Control [ ]) ;
void camd_info (double Info [ ]) ;
void camd_l_info (double Info [ ]) ;
#define CAMD_CONTROL 5
#define CAMD_INFO 20
#define CAMD_DENSE 0
#define CAMD_AGGRESSIVE 1
#define CAMD_DEFAULT_DENSE 10.0
#define CAMD_DEFAULT_AGGRESSIVE 1
#define CAMD_STATUS 0
#define CAMD_N 1
#define CAMD_NZ 2
#define CAMD_SYMMETRY 3
#define CAMD_NZDIAG 4
#define CAMD_NZ_A_PLUS_AT 5
#define CAMD_NDENSE 6
#define CAMD_MEMORY 7
#define CAMD_NCMPA 8
#define CAMD_LNZ 9
#define CAMD_NDIV 10
#define CAMD_NMULTSUBS_LDL 11
#define CAMD_NMULTSUBS_LU 12
#define CAMD_DMAX 13
#define CAMD_OK 0
#define CAMD_OUT_OF_MEMORY -1
#define CAMD_INVALID -2
#define CAMD_OK_BUT_JUMBLED 1
#define CAMD_DATE "May 4, 2016"
#define CAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define CAMD_MAIN_VERSION 2
#define CAMD_SUB_VERSION 4
#define CAMD_SUBSUB_VERSION 6
#define CAMD_VERSION CAMD_VERSION_CODE(CAMD_MAIN_VERSION,CAMD_SUB_VERSION)
#ifdef __cplusplus
}
#endif
#endif