diff --git a/Formula/numcpp.rb b/Formula/numcpp.rb new file mode 100644 index 00000000000..adc60a66f32 --- /dev/null +++ b/Formula/numcpp.rb @@ -0,0 +1,32 @@ +class Numcpp < Formula + desc "C++ implementation of the Python Numpy library" + homepage "https://dpilger26.github.io/NumCpp" + url "https://github.com/dpilger26/NumCpp/archive/Version_2.2.0.tar.gz" + sha256 "f434cf3c27b4eec6637dea3a508a6730d35c47b810b00cfe98ff6f0d7795787c" + license "MIT" + head "https://github.com/dpilger26/NumCpp.git" + + depends_on "cmake" => :build + depends_on "boost" + + def install + system "cmake", ".", *std_cmake_args + system "make", "install" + end + + test do + (testpath/"test.cpp").write <<~EOS + #include + #include + + int main() { + nc::NdArray a = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; + a = nc::diagonal(a); + for (int i = 0; i < nc::shape(a).cols; ++i) + std::cout << a[i] << std::endl; + } + EOS + system ENV.cxx, "-std=c++14", "test.cpp", "-o", "test", "-I#{include}" + assert_equal "1\n5\n9\n", shell_output("./test") + end +end