# 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
## Defines
#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 ABC_INLINE | CoinAbcScatterUpdate (int number, CoinFactorizationDouble pivotValue, const CoinFactorizationDouble *COIN_RESTRICT thisElement, const int *COIN_RESTRICT thisIndex, CoinFactorizationDouble *COIN_RESTRICT region)
void ABC_INLINE | CoinAbcScatterUpdate (int number, CoinFactorizationDouble pivotValue, const CoinFactorizationDouble *COIN_RESTRICT thisElement, 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
CoinFactorizationDouble ABC_INLINE | 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).

## Define Documentation

#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.

#define CILK_FOR_GRAINSIZE 128

Definition at line 26 of file CoinAbcHelperFunctions.hpp.

#define UNROLL_SCATTER 2

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

Definition at line 43 of file CoinAbcHelperFunctions.hpp.

#define INLINE_SCATTER 1

Definition at line 44 of file CoinAbcHelperFunctions.hpp.

#define coin_prefetch | ( | mem |  | ) |

Definition at line 523 of file CoinAbcHelperFunctions.hpp.

#define coin_prefetch_const | ( | mem |  | ) |

Definition at line 524 of file CoinAbcHelperFunctions.hpp.

#define NEW_CHUNK_SIZE 4

Definition at line 526 of file CoinAbcHelperFunctions.hpp.

#define NEW_CHUNK_SIZE_INCREMENT (NEW_CHUNK_SIZE+NEW_CHUNK_SIZE/2);

Definition at line 527 of file CoinAbcHelperFunctions.hpp.

#define NEW_CHUNK_SIZE_OFFSET (NEW_CHUNK_SIZE/2)

Definition at line 528 of file CoinAbcHelperFunctions.hpp.

#define SCATTER_ATTRIBUTE

Definition at line 532 of file CoinAbcHelperFunctions.hpp.

#define UNROLL_GATHER 0

Definition at line 706 of file CoinAbcHelperFunctions.hpp.

#define INLINE_GATHER 1

Definition at line 707 of file CoinAbcHelperFunctions.hpp.

#define UNROLL_MULTIPLY_INDEXED 0

Definition at line 733 of file CoinAbcHelperFunctions.hpp.

#define INLINE_MULTIPLY_INDEXED 0

Definition at line 734 of file CoinAbcHelperFunctions.hpp.

## Typedef Documentation

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

Definition at line 533 of file CoinAbcHelperFunctions.hpp.

## Function Documentation

void ABC_INLINE CoinAbcScatterUpdate | ( | int | number,
|  | CoinFactorizationDouble | pivotValue,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region |
| ) |  |  | `[inline]`

Definition at line 51 of file CoinAbcHelperFunctions.hpp.

void ABC_INLINE CoinAbcScatterUpdate | ( | int | number,
|  | CoinFactorizationDouble | pivotValue,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | CoinFactorizationDouble *COIN_RESTRICT | region |
| ) |  |  | `[inline]`

Definition at line 266 of file CoinAbcHelperFunctions.hpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CoinFactorizationDouble ABC_INLINE CoinAbcGatherUpdate | ( | CoinSimplexInt | number,
|  | const CoinFactorizationDouble *COIN_RESTRICT | thisElement,
|  | const int *COIN_RESTRICT | thisIndex,
|  | CoinFactorizationDouble *COIN_RESTRICT | region |
| ) |  |  | `[inline]`

Definition at line 714 of file CoinAbcHelperFunctions.hpp.

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).

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines