diff --git a/src/bindings.rs b/src/bindings.rs index bd4c1f8..abcb6f2 100644 --- a/src/bindings.rs +++ b/src/bindings.rs @@ -46,6 +46,7 @@ pub struct MfModel { pub q: *const c_float, } +/// Loss functions. #[repr(C)] #[derive(Clone, Copy)] pub enum Loss { diff --git a/src/error.rs b/src/error.rs index 46f0c2e..96dccb1 100644 --- a/src/error.rs +++ b/src/error.rs @@ -2,6 +2,7 @@ use std::error; use std::ffi::NulError; use std::fmt; +/// An error. #[derive(Debug, Eq, PartialEq)] pub enum Error { Io, diff --git a/src/matrix.rs b/src/matrix.rs index 132ea4e..9e7aab1 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -1,20 +1,24 @@ use crate::bindings::{MfNode, MfProblem}; +/// A matrix. pub struct Matrix { data: Vec, } impl Matrix { + /// Creates a new matrix. pub fn new() -> Self { Self { data: Vec::new() } } + /// Creates a new matrix with a minimum capacity. pub fn with_capacity(capacity: usize) -> Self { Self { data: Vec::with_capacity(capacity), } } + /// Adds a value to the matrix. pub fn push(&mut self, row_index: i32, column_index: i32, value: f32) { assert!(row_index >= 0); assert!(column_index >= 0); diff --git a/src/model.rs b/src/model.rs index 043faa0..47d5a3d 100644 --- a/src/model.rs +++ b/src/model.rs @@ -4,6 +4,7 @@ use std::ffi::CString; use std::path::Path; use std::slice::Chunks; +/// A model. #[derive(Debug)] pub struct Model { pub(crate) model: *mut MfModel, diff --git a/src/params.rs b/src/params.rs index 975ea7e..e417317 100644 --- a/src/params.rs +++ b/src/params.rs @@ -1,6 +1,7 @@ use crate::bindings::*; use crate::{Error, Loss, Matrix, Model}; +/// A set of parameters. pub struct Params { param: MfParameter, }