Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,10 @@ version.py
tests/ndarray
tests/ndarray-eigen
tests/ndarray-fft
tests/swig_test_mod.py
include/ndarray/buildOptions.h
include/ndarray/Array.h
include/ndarray/ArrayBaseN.h
include/ndarray/ArrayRef.h
include/ndarray/Vector.h
include/ndarray/fft/FFTWTraits.h
include/ndarray/operators.h
include/ndarray/bp/auto/*.h
include/ndarray/eigen/bp/auto/*.h
tests/.*.succeeded
build/
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

6 changes: 2 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,8 @@ install:
- conda update -q conda
# Useful for debugging any issues with conda
- conda info -a
- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION boost fftw numpy pybind11 swig cmake gxx_linux-64
- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION boost fftw numpy pybind11 cmake gxx_linux-64 eigen
- source activate test-environment
- echo "eigen 3.2.*" > $CONDA_PREFIX/conda-meta/pinned
- conda install eigen
- export BOOST_DIR=$CONDA_PREFIX
- export EIGEN_DIR=$CONDA_PREFIX
- export FFTW_DIR=$CONDA_PREFIX
Expand All @@ -40,7 +38,7 @@ script:
- make test ARGS="-V"

- rm CMakeCache.txt
- cmake -DNDARRAY_PYBIND11=ON -DNDARRAY_EIGENVIEW=ON ..
- cmake -DNDARRAY_PYBIND11=ON ..
- make
- make test ARGS="-V"

Expand Down
1 change: 0 additions & 1 deletion Boost.NumPy
Submodule Boost.NumPy deleted from a0e849
6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ project(ndarray)
# only executed if NDARRAY_TEST is enabled.
option(NDARRAY_TEST "Enable tests?" ON)
option(NDARRAY_EIGEN "Enable Eigen tests?" ON)
option(NDARRAY_EIGENVIEW "Enable ndarray::EigenView (requires Eigen < 3.3)?" OFF)
option(NDARRAY_STDPYBIND11EIGEN "Enable standard pybind11 Eigen wrappers (requires Eigen > 3.2.5)?" OFF)
option(NDARRAY_FFTW "Enable FFTW tests?" ON)
option(NDARRAY_PYBIND11 "Enable Pybind11 tests?" OFF)

Expand All @@ -42,10 +40,6 @@ if(DOXYGEN_FOUND)
)
endif(DOXYGEN_FOUND)

if(NDARRAY_EIGENVIEW AND NDARRAY_STDPYBIND11EIGEN)
message(FATAL_ERROR "NDARRAY_EIGENVIEW and NDARRAY_STDPYBIND11EIGEN cannot both be enabled")
endif()

if(NDARRAY_TEST)
enable_testing()
add_subdirectory(tests)
Expand Down
44 changes: 8 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@ More information can be found in the [documentation at
ndarray.github.io/ndarray](http://ndarray.github.io/ndarray/).


Building from Git
-----------------
Installation
------------

CMake is the supported way to build ndarray.

To build with cmake, do:
ndarray can be built and tested with CMake:

mkdir build
cd build
Expand All @@ -29,37 +27,11 @@ EIGEN_DIR, and FFTW_DIR environment variables. For example, to build with an
alternate Eigen3 install location and disable FFTW testing replace `cmake ..`
with `EIGEN_DIR=/opt/local cmake -DNDARRY_FFTW=OFF ..`.

ndarray::EigenView is not compatible with Eigen >= 3.3,
nor is it compatible with pybind11's default Eigen wrappers.
To build without ndarray::EigenView use cmake option `-DNDARRAY_EIGENVIEW=OFF`

ndarray's build system does not produce the correct suffixes for pybind11 outputs under pybind11 2.1.x (due to a bug in pybind11 itself). To avoid this problem, please upgrade to pybind11 2.2.x, or try the (now reverted) patch from ndarray commit f46c0f0ff876ceab5aaa3286e5f6e86902e72feb.

However, the cmake build does not support Boost.NumPy library
and Boost.Python wrappers, which are deprecated in favor of pybind11.
If you are keen to use Boost.Python you can try the older
scons build files, as follows

ndarray includes the Boost.NumPy library using git's "submodules"
feature. When you clone the ndarray repository with git, you'll get
an empty Boost.NumPy directory. Even if you don't plan to use
Boost.NumPy (which is required only if you want to build the
Boost.Python bindings for ndarray), it *is* necessary to checkout the
Boost.NumPy source (as parts of the build system is shared). So,
immediately after cloning ndarray, you'll need to run:

git submodule update --init --recursive

From there, you'll be able to build ndarray and (optionally)
Boost.NumPy together just by running "scons" from the root of the
ndarray clone.
ndarray's build system does not produce the correct suffixes for pybind11
outputs under pybind11 2.1.x (due to a bug in pybind11 itself). To avoid this
problem, please upgrade to pybind11 2.2.x, or try the (now reverted) patch from
ndarray commit f46c0f0ff876ceab5aaa3286e5f6e86902e72feb.

Version 1.4.2 of ndarray is the last version to support SWIG.


Building from Compressed Source
-------------------------------

GitHub's automatically generated tarballs and zip files don't include
the Boost.NumPy submodule or the git metadata needed to run "git
submodule", so these features can't be used from release tarball. Please download from git if you want to use the Boost.NumPy interface.
Version 1.5.3 of ndarray is the last verison to support Boost.Python.
95 changes: 0 additions & 95 deletions SConstruct

This file was deleted.

3 changes: 0 additions & 3 deletions doc/SConscript

This file was deleted.

5 changes: 1 addition & 4 deletions include/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ endforeach(FILENAME)
foreach(FILENAME ${PREPROCESS_FILES1})
add_custom_command (
OUTPUT ${FILENAME}
DEPENDS ${FILENAME}.m4 "ndarray/buildOptions.h.in"
DEPENDS ${FILENAME}.m4
COMMAND m4 ${FILENAME}.m4 > ${FILENAME}
)
endforeach(FILENAME)
Expand All @@ -36,9 +36,6 @@ foreach(FILENAME ${PREPROCESS_FILES2})
)
endforeach(FILENAME)

# record certain build options
configure_file(ndarray/buildOptions.h.in "${CMAKE_CURRENT_SOURCE_DIR}/ndarray/buildOptions.h")

add_custom_target(preprocess_includes1 ALL DEPENDS ${PREPROCESS_FILES1})
add_custom_target(preprocess_includes2 ALL DEPENDS ${PREPROCESS_FILES2})
add_dependencies(preprocess_includes2 preprocess_includes1)
39 changes: 0 additions & 39 deletions include/SConscript

This file was deleted.

33 changes: 0 additions & 33 deletions include/ndarray/ArrayBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,6 @@
#include "ndarray/detail/ArrayAccess.h"
#include "ndarray/detail/ViewBuilder.h"
#include "ndarray/ArrayTraits.h"
#include "ndarray/buildOptions.h"

#ifdef NDARRAY_EIGENVIEW

#include "ndarray/eigen_fwd.h"

#endif // NDARRAY_EIGENVIEW

namespace ndarray {

Expand Down Expand Up @@ -196,32 +189,6 @@ class ArrayBase : public ExpressionBase<Derived> {

/// @brief Return an ArrayRef view to this.
Deep const deep() const { return Deep(this->getSelf()); }

#ifdef NDARRAY_EIGENVIEW

//@{
/**
* @name Eigen3 Interface
*
* These methods return Eigen3 views to the array. Template
* parameters optionally control the expression type (Matrix/Array) and
* the compile-time dimensions.
*
* The inline implementation is included by ndarray/eigen.h.
*/
template <typename XprKind, int Rows, int Cols>
EigenView<Element,ND::value,RMC::value,XprKind,Rows,Cols> asEigen() const;

template <typename XprKind>
EigenView<Element,ND::value,RMC::value,XprKind> asEigen() const;

template <int Rows, int Cols>
EigenView<Element,ND::value,RMC::value,Eigen::MatrixXpr,Rows,Cols> asEigen() const;

EigenView<Element,ND::value,RMC::value,Eigen::MatrixXpr> asEigen() const;
//@}

#endif // NDARRAY_EIGENVIEW

/// @brief A template metafunction class to determine the result of a view indexing operation.
template <typename View_>
Expand Down
Loading