# Presolve Utility Functions

## Functions
double * | presolve_dupmajor (const double *elems, const int *indices, int length, CoinBigIndex offset, int tgt=-1)
| Duplicate a major-dimension vector; optionally omit the entry with minor index `tgt`.
void | coin_init_random_vec (double *work, int n)
| Initialize a vector with random numbers.

## Detailed Description

Utilities used by multiple presolve transform objects.

## Function Documentation

double* presolve_dupmajor | ( | const double * | elems,
|  | const int * | indices,
|  | int | length,
|  | CoinBigIndex | offset,
|  | int | tgt = `-1` |
| ) |  |  |

Duplicate a major-dimension vector; optionally omit the entry with minor index `tgt`.

Designed to copy a major-dimension vector from the paired coefficient (`elems`) and minor index (`indices`) arrays used in the standard packed matrix representation. Copies `length` entries starting at `offset`.

If `tgt` is specified, the entry with minor index == `tgt` is omitted from the copy.

void coin_init_random_vec | ( | double * | work,
|  | int | n |
| ) |  |  |

Initialize a vector with random numbers.