1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Clean-room Rust implementation of R-compatible
//! `stats::optim(..., method = "L-BFGS-B")` semantics.
//!
//! The crate focuses on R-style wrapper behavior: `fnscale`, `parscale`,
//! `ndeps`, bounds, optional gradients, typed errors, and R-like result fields.
//! It does not call R at runtime.
//!
//! ```
//! use rcompat_lbfgsb::{optim_lbfgsb, Bounds, OptimControl};
//!
//! let result = optim_lbfgsb(
//! vec![0.0],
//! Bounds::new(vec![-10.0], vec![10.0])?,
//! |p| (p[0] - 2.0).powi(2),
//! OptimControl::default_for_dimension(1),
//! )?;
//!
//! assert!((result.par[0] - 2.0).abs() < 1e-5);
//! # Ok::<(), rcompat_lbfgsb::OptimError>(())
//! ```
pub use Bounds;
pub use ;
pub use OptimControl;
pub use OptimError;
pub use ;