# /home/coin/svn-release/Blis-0.93.2/CoinUtils/src/CoinOslC.h File Reference

`#include <math.h>`
`#include <string.h>`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include "CoinHelperFunctions.hpp"`
`#include <stddef.h>`
`#include <assert.h>`
Include dependency graph for CoinOslC.h:

Go to the source code of this file.

## Defines
#define | CLP_OSL 0
#define | C_EKK_GO_SPARSE 200
#define | SPARSE_UPDATE
#define | NO_SHIFT
#define | c_ekkscpy_0_1(s, ival, array) CoinFillN(array,s,ival)
#define | c_ekks1cpy(n, marr1, marr2) CoinMemcpyN(marr1,n, marr2)
#define | SLACK_VALUE -1.0
#define | C_EKK_REMOVE_LINK(hpiv, hin, link, ipivot)
#define | C_EKK_ADD_LINK(hpiv, nzi, link, npr)
#define | SHIFT_INDEX(limit) (limit)
#define | UNSHIFT_INDEX(limit) (limit)
#define | SHIFT_REF(arr, ind) (arr)[ind]
#define | NOT_ZERO(x) ((x) != 0.0)
#define | SWAP(type, _x, _y) { type _tmp = (_x); (_x) = (_y); (_y) = _tmp;}
#define | UNROLL_LOOP_BODY1(code) {{code}}
#define | UNROLL_LOOP_BODY2(code) {{code} {code}}
#define | UNROLL_LOOP_BODY4(code) {{code} {code} {code} {code}}
## Functions
int | c_ekkbtrn (register const EKKfactinfo *fact, double *dwork1, int *mpt, int first_nonzero)
int | c_ekkbtrn_ipivrw (register const EKKfactinfo *fact, double *dwork1, int *mpt, int ipivrw, int *spare)
int | c_ekketsj (registerEKKfactinfo *fact, double *dwork1, int *mpt2, double dalpha, int orig_nincol, int npivot, int *nuspikp, const int ipivrw, int *spare)
int | c_ekkftrn (register const EKKfactinfo *fact, double *dwork1, double *dpermu, int *mpt, int numberNonZero)
int | c_ekkftrn_ft (register EKKfactinfo *fact, double *dwork1, int *mpt, int *nincolp)
void | c_ekkftrn2 (register EKKfactinfo *fact, double *dwork1, double *dpermu1, int *mpt1, int *nincolp, double *dwork1_ft, int *mpt_ft, int *nincolp_ft)
int | c_ekklfct (register EKKfactinfo *fact)
int | c_ekkslcf (register const EKKfactinfo *fact)
void | c_ekkscpy (int n, const int *marr1, int *marr2)
void | c_ekkdcpy (int n, const double *marr1, double *marr2)
int | c_ekk_IsSet (const int *array, int bit)
void | c_ekk_Set (int *array, int bit)
void | c_ekk_Unset (int *array, int bit)
void | c_ekkzero (int length, int n, void *array)
void | c_ekkdzero (int n, double *marray)
void | c_ekkizero (int n, int *marray)
void | c_ekkczero (int n, char *marray)
void | clp_setup_pointers (EKKfactinfo *fact)
void | clp_memory (int type)
double * | clp_double (int number_entries)
int * | clp_int (int number_entries)
void * | clp_malloc (int number_entries)
void | clp_free (void *oldArray)

## Define Documentation

#define CLP_OSL 0

Definition at line 12 of file CoinOslC.h.

#define C_EKK_GO_SPARSE 200

Definition at line 14 of file CoinOslC.h.

#define SPARSE_UPDATE

Definition at line 28 of file CoinOslC.h.

#define NO_SHIFT

Definition at line 29 of file CoinOslC.h.

#define c_ekkscpy_0_1 | ( | s,
|  | ival,
|  | array |  | ) | CoinFillN(array,s,ival)

Definition at line 80 of file CoinOslC.h.

#define c_ekks1cpy | ( | n,
|  | marr1,
|  | marr2 |  | ) | CoinMemcpyN(marr1,n, marr2)

Definition at line 81 of file CoinOslC.h.

#define SLACK_VALUE -1.0

Definition at line 89 of file CoinOslC.h.

#define C_EKK_REMOVE_LINK | ( | hpiv,
|  | hin,
|  | link,
|  | ipivot |  | ) |

Value:

    {                                               \
        int ipre = link[ipivot].pre;                \
        int isuc = link[ipivot].suc;                \
        if (ipre > 0) {                             \
          link[ipre].suc = isuc;                    \
        }                                           \
        if (ipre <= 0) {                            \
          hpiv[hin[ipivot]] = isuc;                 \
        }                                           \
        if (isuc > 0) {                             \
          link[isuc].pre = ipre;                    \
        }                                           \
      }

Definition at line 90 of file CoinOslC.h.

#define C_EKK_ADD_LINK | ( | hpiv,
|  | nzi,
|  | link,
|  | npr |  | ) |

Value:

    {                                               \
        int ifiri = hpiv[nzi];                      \
        hpiv[nzi] = npr;                            \
        link[npr].suc = ifiri;                      \
        link[npr].pre = 0;                          \
        if (ifiri != 0) {                           \
          link[ifiri].pre = npr;                    \
        }                                           \
      }

Definition at line 105 of file CoinOslC.h.

#define SHIFT_INDEX | ( | limit |  | ) | (limit)

Definition at line 118 of file CoinOslC.h.

#define UNSHIFT_INDEX | ( | limit |  | ) | (limit)

Definition at line 119 of file CoinOslC.h.

#define SHIFT_REF | ( | arr,
|  | ind |  | ) | (arr)[ind]

Definition at line 120 of file CoinOslC.h.

#define NOT_ZERO | ( | x |  | ) | ((x) != 0.0)

Definition at line 133 of file CoinOslC.h.

#define SWAP | ( | type,
|  | _x,
|  | _y |  | ) | { type _tmp = (_x); (_x) = (_y); (_y) = _tmp;}

Definition at line 136 of file CoinOslC.h.

#define UNROLL_LOOP_BODY1 | ( | code |  | ) | {{code}}

Definition at line 138 of file CoinOslC.h.

#define UNROLL_LOOP_BODY2 | ( | code |  | ) | {{code} {code}}

Definition at line 140 of file CoinOslC.h.

#define UNROLL_LOOP_BODY4 | ( | code |  | ) | {{code} {code} {code} {code}}

Definition at line 142 of file CoinOslC.h.

## Function Documentation

int c_ekkbtrn | ( | register const EKKfactinfo * | fact,
|  | double * | dwork1,
|  | int * | mpt,
|  | int | first_nonzero |
| ) |  |  |

int c_ekkbtrn_ipivrw | ( | register const EKKfactinfo * | fact,
|  | double * | dwork1,
|  | int * | mpt,
|  | int | ipivrw,
|  | int * | spare |
| ) |  |  |

int c_ekketsj | ( | registerEKKfactinfo * | fact,
|  | double * | dwork1,
|  | int * | mpt2,
|  | double | dalpha,
|  | int | orig_nincol,
|  | int | npivot,
|  | int * | nuspikp,
|  | const int | ipivrw,
|  | int * | spare |
| ) |  |  |

int c_ekkftrn | ( | register const EKKfactinfo * | fact,
|  | double * | dwork1,
|  | double * | dpermu,
|  | int * | mpt,
|  | int | numberNonZero |
| ) |  |  |

int c_ekkftrn_ft | ( | register EKKfactinfo * | fact,
|  | double * | dwork1,
|  | int * | mpt,
|  | int * | nincolp |
| ) |  |  |

void c_ekkftrn2 | ( | register EKKfactinfo * | fact,
|  | double * | dwork1,
|  | double * | dpermu1,
|  | int * | mpt1,
|  | int * | nincolp,
|  | double * | dwork1_ft,
|  | int * | mpt_ft,
|  | int * | nincolp_ft |
| ) |  |  |

int c_ekklfct | ( | register EKKfactinfo * | fact | ) |

int c_ekkslcf | ( | register const EKKfactinfo * | fact | ) |

void c_ekkscpy | ( | int | n,
|  | const int * | marr1,
|  | int * | marr2 |
| ) |  |  | `[inline]`

Definition at line 61 of file CoinOslC.h.

void c_ekkdcpy | ( | int | n,
|  | const double * | marr1,
|  | double * | marr2 |
| ) |  |  | `[inline]`

Definition at line 63 of file CoinOslC.h.

int c_ekk_IsSet | ( | const int * | array,
|  | int | bit |
| ) |  |  |

void c_ekk_Set | ( | int * | array,
|  | int | bit |
| ) |  |  |

void c_ekk_Unset | ( | int * | array,
|  | int | bit |
| ) |  |  |

void c_ekkzero | ( | int | length,
|  | int | n,
|  | void * | array |
| ) |  |  |

void c_ekkdzero | ( | int | n,
|  | double * | marray |
| ) |  |  | `[inline]`

Definition at line 70 of file CoinOslC.h.

void c_ekkizero | ( | int | n,
|  | int * | marray |
| ) |  |  | `[inline]`

Definition at line 72 of file CoinOslC.h.

void c_ekkczero | ( | int | n,
|  | char * | marray |
| ) |  |  | `[inline]`

Definition at line 74 of file CoinOslC.h.

void clp_setup_pointers | ( | EKKfactinfo * | fact | ) |

void clp_memory | ( | int | type | ) |

double* clp_double | ( | int | number_entries | ) |

int* clp_int | ( | int | number_entries | ) |

void* clp_malloc | ( | int | number_entries | ) |

void clp_free | ( | void * | oldArray | ) |