Loading...
Searching...
No Matches
CoinAbcHelperFunctions.hpp File Reference
`#include "ClpConfig.h"`
`#include <cmath>`
`#include "CoinAbcCommon.hpp"`
Include dependency graph for CoinAbcHelperFunctions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

struct | scatterStruct

## Macros

#define | abc_assert(condition)
#define | CILK_FOR_GRAINSIZE 128
#define | UNROLL_SCATTER 2
| Note (JJF) I have added some operations on arrays even though they may duplicate CoinDenseVector.
#define | INLINE_SCATTER 1
#define | coin_prefetch(mem)
#define | coin_prefetch_const(mem)
#define | NEW_CHUNK_SIZE 4
#define | NEW_CHUNK_SIZE_INCREMENT (NEW_CHUNK_SIZE + NEW_CHUNK_SIZE / 2);
#define | NEW_CHUNK_SIZE_OFFSET (NEW_CHUNK_SIZE / 2)
#define | SCATTER_ATTRIBUTE
#define | UNROLL_GATHER 0
#define | INLINE_GATHER 1
#define | UNROLL_MULTIPLY_INDEXED 0
#define | INLINE_MULTIPLY_INDEXED 0

## Typedefs

typedef void(* | scatterUpdate) (int, CoinFactorizationDouble, const CoinFactorizationDouble *, double *) SCATTER_ATTRIBUTE

## Functions

void | CoinAbcScatterUpdate (int number, CoinFactorizationDouble pivotValue, const CoinFactorizationDouble *COIN_RESTRICT thisElement, const int *COIN_RESTRICT thisIndex, CoinFactorizationDouble *COIN_RESTRICT region)
void | CoinAbcScatterUpdate0 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate1 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate2 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate3 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate5 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate6 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate7 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate8 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4N (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus1 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus2 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus3 (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate1Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate2Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate3Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate5Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate6Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate7Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate8Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NSubtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus1Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus2Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus3Subtract (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate1Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate2Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate3Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate5Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate6Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate7Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate8Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NAdd (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus1Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus2Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate4NPlus3Add (int numberIn, CoinFactorizationDouble multiplier, const CoinFactorizationDouble *COIN_RESTRICT thisElement, CoinFactorizationDouble *COIN_RESTRICT region) SCATTER_ATTRIBUTE
void | CoinAbcScatterUpdate (int number, CoinFactorizationDouble pivotValue, const CoinFactorizationDouble *COIN_RESTRICT thisElement, const int *COIN_RESTRICT thisIndex, CoinFactorizationDouble *COIN_RESTRICT region, double *COIN_RESTRICT work)
CoinFactorizationDouble | CoinAbcGatherUpdate (CoinSimplexInt number, const CoinFactorizationDouble *COIN_RESTRICT thisElement, const int *COIN_RESTRICT thisIndex, CoinFactorizationDouble *COIN_RESTRICT region)
void | CoinAbcMultiplyIndexed (int number, const double *COIN_RESTRICT multiplier, const int *COIN_RESTRICT thisIndex, CoinFactorizationDouble *COIN_RESTRICT region)
void | CoinAbcMultiplyIndexed (int number, const long double *COIN_RESTRICT multiplier, const int *COIN_RESTRICT thisIndex, long double *COIN_RESTRICT region)
double | CoinAbcMaximumAbsElement (const double *region, int size)
void | CoinAbcMinMaxAbsElement (const double *region, int size, double &minimum, double &maximum)
void | CoinAbcMinMaxAbsNormalValues (const double *region, int size, double &minimum, double &maximum)
void | CoinAbcScale (double *region, double multiplier, int size)
void | CoinAbcScaleNormalValues (double *region, double multiplier, double killIfLessThanThis, int size)
double | CoinAbcMaximumAbsElementAndScale (double *region, double multiplier, int size)
| maximum fabs(region[i]) and then region[i]*=multiplier
void | CoinAbcSetElements (double *region, int size, double value)
void | CoinAbcMultiplyAdd (const double *region1, int size, double multiplier1, double *regionChanged, double multiplier2)
double | CoinAbcInnerProduct (const double *region1, int size, const double *region2)
void | CoinAbcGetNorms (const double *region, int size, double &norm1, double &norm2)
void | CoinAbcScatterTo (const double *regionFrom, double *regionTo, const int *index, int number)
| regionTo[index[i]]=regionFrom[i]
void | CoinAbcGatherFrom (const double *regionFrom, double *regionTo, const int *index, int number)
| regionTo[i]=regionFrom[index[i]]
void | CoinAbcScatterZeroTo (double *regionTo, const int *index, int number)
| regionTo[index[i]]=0.0
void | CoinAbcScatterToList (const double *regionFrom, double *regionTo, const int *indexList, const int *indexScatter, int number)
| regionTo[indexScatter[indexList[i]]]=regionFrom[indexList[i]]
void | CoinAbcInverseSqrts (double *array, int n)
| array[i]=1.0/sqrt(array[i])
void | CoinAbcReciprocal (double *array, int n, const double *input)
void | CoinAbcMemcpyLong (double *array, const double *arrayFrom, int size)
void | CoinAbcMemcpyLong (int *array, const int *arrayFrom, int size)
void | CoinAbcMemcpyLong (unsigned char *array, const unsigned char *arrayFrom, int size)
void | CoinAbcMemset0Long (double *array, int size)
void | CoinAbcMemset0Long (int *array, int size)
void | CoinAbcMemset0Long (unsigned char *array, int size)
void | CoinAbcMemmove (double *array, const double *arrayFrom, int size)
void | CoinAbcMemmove (int *array, const int *arrayFrom, int size)
void | CoinAbcMemmove (unsigned char *array, const unsigned char *arrayFrom, int size)
void | CoinAbcMemmoveAndZero (double *array, double *arrayFrom, int size)
| This moves down and zeroes out end.
int | CoinAbcCompact (int numberSections, int alreadyDone, double *array, const int *starts, const int *lengths)
| This compacts several sections and zeroes out end (returns number).
int | CoinAbcCompact (int numberSections, int alreadyDone, int *array, const int *starts, const int *lengths)
| This compacts several sections (returns number).

## Macro Definition Documentation

## abc_assert

#define abc_assert | ( |  | condition | ) |

Value:
{ \
if (!condition) { \
printf("abc_assert in %s at line %d - %s is false\n", \
__FILE__, __LINE__, __STRING(condition)); \
abort(); \
} \
}

Definition at line 21 of file CoinAbcHelperFunctions.hpp.

## CILK_FOR_GRAINSIZE

#define CILK_FOR_GRAINSIZE 128

Definition at line 31 of file CoinAbcHelperFunctions.hpp.

## UNROLL_SCATTER

#define UNROLL_SCATTER 2

Note (JJF) I have added some operations on arrays even though they may duplicate CoinDenseVector.

Definition at line 48 of file CoinAbcHelperFunctions.hpp.

## INLINE_SCATTER

#define INLINE_SCATTER 1

Definition at line 49 of file CoinAbcHelperFunctions.hpp.

## coin_prefetch

#define coin_prefetch | ( |  | mem | ) |

Definition at line 538 of file CoinAbcHelperFunctions.hpp.

## coin_prefetch_const

#define coin_prefetch_const | ( |  | mem | ) |

Definition at line 539 of file CoinAbcHelperFunctions.hpp.

## NEW_CHUNK_SIZE

#define NEW_CHUNK_SIZE 4

Definition at line 541 of file CoinAbcHelperFunctions.hpp.

## NEW_CHUNK_SIZE_INCREMENT

#define NEW_CHUNK_SIZE_INCREMENT (NEW_CHUNK_SIZE + NEW_CHUNK_SIZE / 2);

Definition at line 542 of file CoinAbcHelperFunctions.hpp.

## NEW_CHUNK_SIZE_OFFSET

#define NEW_CHUNK_SIZE_OFFSET (NEW_CHUNK_SIZE / 2)

Definition at line 543 of file CoinAbcHelperFunctions.hpp.

## SCATTER_ATTRIBUTE

#define SCATTER_ATTRIBUTE

Definition at line 547 of file CoinAbcHelperFunctions.hpp.

## UNROLL_GATHER

#define UNROLL_GATHER 0

Definition at line 721 of file CoinAbcHelperFunctions.hpp.

## INLINE_GATHER

#define INLINE_GATHER 1

Definition at line 722 of file CoinAbcHelperFunctions.hpp.

## UNROLL_MULTIPLY_INDEXED

#define UNROLL_MULTIPLY_INDEXED 0

Definition at line 748 of file CoinAbcHelperFunctions.hpp.

## INLINE_MULTIPLY_INDEXED

#define INLINE_MULTIPLY_INDEXED 0

Definition at line 749 of file CoinAbcHelperFunctions.hpp.

## Typedef Documentation

## scatterUpdate

typedef void(* scatterUpdate) (int, CoinFactorizationDouble, const CoinFactorizationDouble *, double *) SCATTER_ATTRIBUTE

Definition at line 548 of file CoinAbcHelperFunctions.hpp.

## Function Documentation

## CoinAbcScatterUpdate() [1/2]

void CoinAbcScatterUpdate | ( | int | number,
|  | CoinFactorizationDouble | pivotValue,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate0()

void CoinAbcScatterUpdate0 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate1()

void CoinAbcScatterUpdate1 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate2()

void CoinAbcScatterUpdate2 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate3()

void CoinAbcScatterUpdate3 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4()

void CoinAbcScatterUpdate4 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate5()

void CoinAbcScatterUpdate5 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate6()

void CoinAbcScatterUpdate6 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate7()

void CoinAbcScatterUpdate7 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate8()

void CoinAbcScatterUpdate8 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4N()

void CoinAbcScatterUpdate4N | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus1()

void CoinAbcScatterUpdate4NPlus1 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus2()

void CoinAbcScatterUpdate4NPlus2 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus3()

void CoinAbcScatterUpdate4NPlus3 | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate1Subtract()

void CoinAbcScatterUpdate1Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate2Subtract()

void CoinAbcScatterUpdate2Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate3Subtract()

void CoinAbcScatterUpdate3Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4Subtract()

void CoinAbcScatterUpdate4Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate5Subtract()

void CoinAbcScatterUpdate5Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate6Subtract()

void CoinAbcScatterUpdate6Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate7Subtract()

void CoinAbcScatterUpdate7Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate8Subtract()

void CoinAbcScatterUpdate8Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NSubtract()

void CoinAbcScatterUpdate4NSubtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus1Subtract()

void CoinAbcScatterUpdate4NPlus1Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus2Subtract()

void CoinAbcScatterUpdate4NPlus2Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus3Subtract()

void CoinAbcScatterUpdate4NPlus3Subtract | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate1Add()

void CoinAbcScatterUpdate1Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate2Add()

void CoinAbcScatterUpdate2Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate3Add()

void CoinAbcScatterUpdate3Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4Add()

void CoinAbcScatterUpdate4Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate5Add()

void CoinAbcScatterUpdate5Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate6Add()

void CoinAbcScatterUpdate6Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate7Add()

void CoinAbcScatterUpdate7Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate8Add()

void CoinAbcScatterUpdate8Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NAdd()

void CoinAbcScatterUpdate4NAdd | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus1Add()

void CoinAbcScatterUpdate4NPlus1Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus2Add()

void CoinAbcScatterUpdate4NPlus2Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate4NPlus3Add()

void CoinAbcScatterUpdate4NPlus3Add | ( | int | numberIn,
|  | CoinFactorizationDouble | multiplier,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcScatterUpdate() [2/2]

void CoinAbcScatterUpdate | ( | int | number,
|  | CoinFactorizationDouble | pivotValue,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region,
|  | double *COIN_RESTRICT | work )

## CoinAbcGatherUpdate()

CoinFactorizationDouble CoinAbcGatherUpdate | ( | CoinSimplexInt | number,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcMultiplyIndexed() [1/2]

void CoinAbcMultiplyIndexed | ( | int | number,
|  | const double *COIN_RESTRICT | multiplier,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region )

## CoinAbcMultiplyIndexed() [2/2]

void CoinAbcMultiplyIndexed | ( | int | number,
|  | const long double *COIN_RESTRICT | multiplier,
|  | const int *COIN_RESTRICT | thisIndex,
|  | long double *COIN_RESTRICT | region )

## CoinAbcMaximumAbsElement()

double CoinAbcMaximumAbsElement | ( | const double * | region,
|  | int | size )

## CoinAbcMinMaxAbsElement()

void CoinAbcMinMaxAbsElement | ( | const double * | region,
|  | int | size,
|  | double & | minimum,
|  | double & | maximum )

## CoinAbcMinMaxAbsNormalValues()

void CoinAbcMinMaxAbsNormalValues | ( | const double * | region,
|  | int | size,
|  | double & | minimum,
|  | double & | maximum )

## CoinAbcScale()

void CoinAbcScale | ( | double * | region,
|  | double | multiplier,
|  | int | size )

## CoinAbcScaleNormalValues()

void CoinAbcScaleNormalValues | ( | double * | region,
|  | double | multiplier,
|  | double | killIfLessThanThis,
|  | int | size )

## CoinAbcMaximumAbsElementAndScale()

double CoinAbcMaximumAbsElementAndScale | ( | double * | region,
|  | double | multiplier,
|  | int | size )

maximum fabs(region[i]) and then region[i]*=multiplier

## CoinAbcSetElements()

void CoinAbcSetElements | ( | double * | region,
|  | int | size,
|  | double | value )

## CoinAbcMultiplyAdd()

void CoinAbcMultiplyAdd | ( | const double * | region1,
|  | int | size,
|  | double | multiplier1,
|  | double * | regionChanged,
|  | double | multiplier2 )

## CoinAbcInnerProduct()

double CoinAbcInnerProduct | ( | const double * | region1,
|  | int | size,
|  | const double * | region2 )

## CoinAbcGetNorms()

void CoinAbcGetNorms | ( | const double * | region,
|  | int | size,
|  | double & | norm1,
|  | double & | norm2 )

## CoinAbcScatterTo()

void CoinAbcScatterTo | ( | const double * | regionFrom,
|  | double * | regionTo,
|  | const int * | index,
|  | int | number )

regionTo[index[i]]=regionFrom[i]

## CoinAbcGatherFrom()

void CoinAbcGatherFrom | ( | const double * | regionFrom,
|  | double * | regionTo,
|  | const int * | index,
|  | int | number )

regionTo[i]=regionFrom[index[i]]

## CoinAbcScatterZeroTo()

void CoinAbcScatterZeroTo | ( | double * | regionTo,
|  | const int * | index,
|  | int | number )

regionTo[index[i]]=0.0

## CoinAbcScatterToList()

void CoinAbcScatterToList | ( | const double * | regionFrom,
|  | double * | regionTo,
|  | const int * | indexList,
|  | const int * | indexScatter,
|  | int | number )

regionTo[indexScatter[indexList[i]]]=regionFrom[indexList[i]]

## CoinAbcInverseSqrts()

void CoinAbcInverseSqrts | ( | double * | array,
|  | int | n )

array[i]=1.0/sqrt(array[i])

## CoinAbcReciprocal()

void CoinAbcReciprocal | ( | double * | array,
|  | int | n,
|  | const double * | input )

## CoinAbcMemcpyLong() [1/3]

void CoinAbcMemcpyLong | ( | double * | array,
|  | const double * | arrayFrom,
|  | int | size )

## CoinAbcMemcpyLong() [2/3]

void CoinAbcMemcpyLong | ( | int * | array,
|  | const int * | arrayFrom,
|  | int | size )

## CoinAbcMemcpyLong() [3/3]

void CoinAbcMemcpyLong | ( | unsigned char * | array,
|  | const unsigned char * | arrayFrom,
|  | int | size )

## CoinAbcMemset0Long() [1/3]

void CoinAbcMemset0Long | ( | double * | array,
|  | int | size )

## CoinAbcMemset0Long() [2/3]

void CoinAbcMemset0Long | ( | int * | array,
|  | int | size )

## CoinAbcMemset0Long() [3/3]

void CoinAbcMemset0Long | ( | unsigned char * | array,
|  | int | size )

## CoinAbcMemmove() [1/3]

void CoinAbcMemmove | ( | double * | array,
|  | const double * | arrayFrom,
|  | int | size )

## CoinAbcMemmove() [2/3]

void CoinAbcMemmove | ( | int * | array,
|  | const int * | arrayFrom,
|  | int | size )

## CoinAbcMemmove() [3/3]

void CoinAbcMemmove | ( | unsigned char * | array,
|  | const unsigned char * | arrayFrom,
|  | int | size )

## CoinAbcMemmoveAndZero()

void CoinAbcMemmoveAndZero | ( | double * | array,
|  | double * | arrayFrom,
|  | int | size )

This moves down and zeroes out end.

## CoinAbcCompact() [1/2]

int CoinAbcCompact | ( | int | numberSections,
|  | int | alreadyDone,
|  | double * | array,
|  | const int * | starts,
|  | const int * | lengths )

This compacts several sections and zeroes out end (returns number).

## CoinAbcCompact() [2/2]

int CoinAbcCompact | ( | int | numberSections,
|  | int | alreadyDone,
|  | int * | array,
|  | const int * | starts,
|  | const int * | lengths )

This compacts several sections (returns number).