* basiclu_obj_factorize() */
| 201 | * basiclu_obj_factorize() |
| 202 | */ |
| 203 | lu_int basiclu_obj_factorize(struct basiclu_object *obj, const lu_int *Bbegin, |
| 204 | const lu_int *Bend, const lu_int *Bi, |
| 205 | const double *Bx) |
| 206 | { |
| 207 | lu_int status; |
| 208 | |
| 209 | if (!isvalid(obj)) |
| 210 | return BASICLU_ERROR_invalid_object; |
| 211 | |
| 212 | status = basiclu_factorize(obj->istore, obj->xstore, obj->Li, obj->Lx, |
| 213 | obj->Ui, obj->Ux, obj->Wi, obj->Wx, Bbegin, Bend, |
| 214 | Bi, Bx, 0); |
| 215 | |
| 216 | while (status == BASICLU_REALLOCATE) |
| 217 | { |
| 218 | status = lu_realloc_obj(obj); |
| 219 | if (status != BASICLU_OK) |
| 220 | break; |
| 221 | status = basiclu_factorize(obj->istore, obj->xstore, obj->Li, obj->Lx, |
| 222 | obj->Ui, obj->Ux, obj->Wi, obj->Wx, Bbegin, |
| 223 | Bend, Bi, Bx, 1); |
| 224 | } |
| 225 | |
| 226 | return status; |
| 227 | } |
| 228 | |
| 229 | /* |
| 230 | * basiclu_obj_get_factors() |
no test coverage detected