Added support for Windows

This commit is contained in:
Andrew Kane
2021-10-17 13:54:22 -07:00
parent 3e3aed7736
commit 3723cc1cb5
4 changed files with 20 additions and 7 deletions

View File

@@ -2,7 +2,11 @@ name: build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:

View File

@@ -1,5 +1,9 @@
## 0.2.0 (unreleased)
- Added support for Windows
Breaking changes
- Changed pattern for fitting models - use `Model::params()` instead of `Model::new()`
- Changed `fit`, `fit_eval`, `cv`, `save`, and `load` to return `Result`
- Changed `cv` to return average error

View File

@@ -3,8 +3,8 @@ extern crate cc;
fn main() {
cc::Build::new()
.cpp(true)
.flag("-std=c++11")
.flag("-Wno-unused-parameter")
.flag_if_supported("-std=c++11")
.flag_if_supported("-Wno-unused-parameter")
.file("vendor/libmf/mf.cpp")
.compile("mf");
}

View File

@@ -104,6 +104,7 @@ impl Drop for Model {
#[cfg(test)]
mod tests {
use crate::{Error, Loss, Matrix, Model};
use std::env;
fn generate_data() -> Matrix {
let mut data = Matrix::new();
@@ -156,8 +157,12 @@ mod tests {
let data = generate_data();
let model = Model::params().quiet(true).fit(&data).unwrap();
model.save("/tmp/model.txt").unwrap();
let model = Model::load("/tmp/model.txt").unwrap();
let mut path = env::temp_dir();
path.push("model.txt");
let path = path.to_str().unwrap();
model.save(path).unwrap();
let model = Model::load(path).unwrap();
model.p_factors();
model.q_factors();
@@ -168,13 +173,13 @@ mod tests {
fn test_save_missing() {
let data = generate_data();
let model = Model::params().quiet(true).fit(&data).unwrap();
let result = model.save("/tmp/missing/model.txt");
let result = model.save("missing/model.txt");
assert_eq!(result.unwrap_err(), Error::Io);
}
#[test]
fn test_load_missing() {
let result = Model::load("/tmp/missing.txt");
let result = Model::load("missing.txt");
assert_eq!(result.unwrap_err(), Error::Io);
}