lbfgsbrs 0.1.2

Rust port of L-BFGS-B-C
Documentation
# Tasks

## Overview

Start date of the project: March 07, 2025.

The following tasks are valid for the ALGORITHM and ARCHITECTURE of the library. The ALGORITHM doesn't change, but the ARCHITECTURE does. 

## Fundamental tasks

- [ ] Understand the purpose of the algorithm: make a comprehensive documentation on it
- [ ] Understand why it is used: give examples
- [ ] Make a diagram of the architecture


## Development tasks

- [x] Incremental assembly of safe functions 
- [ ] Provide a modern architecture for the main routine, using a state machine to get rid of the old goto statements inherited from Fortran and C
- [x] Remove old and useless variables inherited from Fortran and C
- [ ] Make subfunctions if possible, with explicit names for algorithm and architecture comprehension
- [x] Add comments for a better understanding of the algorithm and architecture
- [ ] Handle error in a modern, Rust fashion
- [ ] Separate task and state from the initial Fortran code
- [x] Use return codes when applicable
- [x] Add unit and integration tests (based on drivers output)