From 2b9157a7ee7fcdb5099003534210afec1a4c4b4c Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Sun, 28 Feb 2016 14:53:37 -0500 Subject: [PATCH 01/29] initial window and geo --- .gitignore | 1 + CMakeLists.txt | 41 ++++--- README.md | 16 --- core/display/InputHandler.cpp | 202 ++++++++++++++++++++++++++++++++ core/display/InputHandler.h | 87 ++++++++++++++ core/display/Window.cpp | 177 ++++++++++++++++++++++++++++ core/display/Window.h | 27 +++++ core/fileIO/SceneLoader.cpp | 77 ++++++++++++ core/fileIO/SceneLoader.h | 23 ++++ core/geometry/Bound.cpp | 158 +++++++++++++++++++++++++ core/geometry/Bound.h | 45 +++++++ core/geometry/Box.cpp | 18 +++ core/geometry/Box.h | 33 ++++++ core/geometry/Geo.cpp | 28 +++++ core/geometry/Geo.h | 31 +++++ core/geometry/GeoObject.h | 23 ++++ core/solver/FluidSolver.cpp | 59 ++++++++++ core/solver/FluidSolver.h | 49 ++++++++ core/util/math.h | 34 ++++++ main.cpp | 12 ++ src/camera/camera.cpp | 6 - src/camera/camera.hpp | 10 -- src/fluidSolver/fluidSolver.cpp | 6 - src/fluidSolver/fluidSolver.hpp | 9 -- src/geom/geom.cpp | 5 - src/geom/geom.hpp | 9 -- src/main.cpp | 11 -- src/main.hpp | 9 -- src/scene/scene.cpp | 5 - src/scene/scene.hpp | 3 - src/scene/scene.json | 13 -- src/viewer/viewer.cpp | 5 - src/viewer/viewer.hpp | 9 -- 33 files changed, 1109 insertions(+), 132 deletions(-) create mode 100644 core/display/InputHandler.cpp create mode 100644 core/display/InputHandler.h create mode 100644 core/display/Window.cpp create mode 100644 core/display/Window.h create mode 100644 core/fileIO/SceneLoader.cpp create mode 100644 core/fileIO/SceneLoader.h create mode 100644 core/geometry/Bound.cpp create mode 100644 core/geometry/Bound.h create mode 100644 core/geometry/Box.cpp create mode 100644 core/geometry/Box.h create mode 100644 core/geometry/Geo.cpp create mode 100644 core/geometry/Geo.h create mode 100644 core/geometry/GeoObject.h create mode 100644 core/solver/FluidSolver.cpp create mode 100644 core/solver/FluidSolver.h create mode 100644 core/util/math.h create mode 100644 main.cpp delete mode 100644 src/camera/camera.cpp delete mode 100644 src/camera/camera.hpp delete mode 100644 src/fluidSolver/fluidSolver.cpp delete mode 100644 src/fluidSolver/fluidSolver.hpp delete mode 100644 src/geom/geom.cpp delete mode 100644 src/geom/geom.hpp delete mode 100644 src/main.cpp delete mode 100644 src/main.hpp delete mode 100644 src/scene/scene.cpp delete mode 100644 src/scene/scene.hpp delete mode 100644 src/scene/scene.json delete mode 100644 src/viewer/viewer.cpp delete mode 100644 src/viewer/viewer.hpp diff --git a/.gitignore b/.gitignore index f3219dd9..8b80a3f0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ CMakeFiles CMakeCache.txt cmake_install.cmake CMakeLists.txt.user +.idea \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index bed4e57a..9347af9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,7 @@ -################## -# Thanda # -################## - # credit - base CMake config : Yining Karl Li , edited CMake config: Akshay Shah & Debanshu Singh #name your project -project(Thanda) +project(FluidSolver) cmake_minimum_required(VERSION 2.8) # set creates a variable @@ -16,6 +12,8 @@ include_directories( ${NUPARU}/src ) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + # Add path for pre-compiled libraries here (we will later link them with our compiled source) # Add Nuparu library to path for OSX, linux and windows if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") @@ -33,7 +31,7 @@ set(GLFW_LIBRARY_DIR ${CMAKE_LIBRARY_PATH}) set(GLEW_LIBRARY_DIR ${CMAKE_LIBRARY_PATH}) # Use find_package & find_library to link with -find_package(OPENGL REQUIRED) +find_package(OpenGL REQUIRED) find_package(GLEW) find_library(GLFW_LIBRARY "glfw3" HINTS ${GLFW_LIBRARY_DIR}) find_library(JSONCPP "jsoncpp") @@ -70,11 +68,11 @@ elseif(WIN32) endif() if(MSVC) - set(COMPILER_FLAGS + set(COMPILER_FLAGS CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_C_FLAGS + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE ) @@ -82,13 +80,24 @@ endif() # Add source files you want to compile (.cpp) set(CORE_SRC - src/main.cpp - src/camera/camera.cpp - src/viewer/viewer.cpp - src/fluidSolver/fluidSolver.cpp - src/scene/scene.cpp - src/geom/geom.cpp + main.cpp + core/display/InputHandler.cpp + core/display/InputHandler.h + core/display/Window.cpp + core/display/Window.h + core/fileIO/SceneLoader.cpp + core/fileIO/SceneLoader.h + core/geometry/Bound.cpp + core/geometry/Bound.h + core/geometry/Box.cpp + core/geometry/Box.h + core/geometry/Geo.cpp + core/geometry/Geo.h + core/geometry/GeoObject.h + core/solver/FluidSolver.cpp + core/solver/FluidSolver.h + core/util/math.h ) -add_executable(Thanda ${CORE_SRC}) -target_link_libraries(Thanda ${CORE_LIBS}) +add_executable(FluidSolver ${CORE_SRC}) +target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/README.md b/README.md index 54283261..e69de29b 100644 --- a/README.md +++ b/README.md @@ -1,16 +0,0 @@ -# CIS563-FluidSolver -(Credit : CIS565 README) - -Fluid Solver Submission guidelines: - - -- If you have modified any of the CMakeLists.txt files at all (aside from the list of CORE_SRC), you must test that your project can build. Beware of any build issues. - -- Open a GitHub pull request so that we can see that you have finished. The title should be "Submission: YOUR NAME". - -- In the body of the pull request, include a link to your repository. - -- Submit on canvas with a direct link to your pull request on GitHub - - -And you're done! \ No newline at end of file diff --git a/core/display/InputHandler.cpp b/core/display/InputHandler.cpp new file mode 100644 index 00000000..e524f65b --- /dev/null +++ b/core/display/InputHandler.cpp @@ -0,0 +1,202 @@ +// +// Created by austin on 2/26/16. +// + +#include "InputHandler.h" +#include +#include + +InputHandler::InputHandler() { + +} + +double InputHandler::x() const { + return _mouseState.x; +} + +double InputHandler::y() const { + return _mouseState.y; +} + +double InputHandler::delX() const { + return _mouseState.delX; +} + +double InputHandler::delY() const { + return _mouseState.delY; +} + +double InputHandler::delWheel() const { + return _mouseState.delWheel; +} + +bool InputHandler::leftDown() const { + return _mouseState.leftDown; +} + +bool InputHandler::wheelDown() const { + return _mouseState.wheelDown; +} + +bool InputHandler::rightDown() const { + return _mouseState.rightDown; +} + +bool InputHandler::key(int key) const { + return _keyboard.find(key) != _keyboard.end(); +} + +void InputHandler::x(double val, bool events) { + std::swap(_mouseState.x, val); + + if (events) { + _mouseState.delX = _mouseState.x - val; + + mouseMoved(); + + emit(_mouseState); + _mouseState.leftDragInit = false; + _mouseState.wheelDragInit = false; + _mouseState.rightDragInit = false; + } +} + +void InputHandler::y(double val, bool events) { + std::swap(_mouseState.y, val); + + if (events) { + _mouseState.delY = _mouseState.y - val; + + mouseMoved(); + + emit(_mouseState); + _mouseState.leftDragInit = false; + _mouseState.wheelDragInit = false; + _mouseState.rightDragInit = false; + } +} + +void InputHandler::mouseMoved() { + if (_mouseState.leftDown) { + if (!_mouseState.leftDragInit) { + _mouseState.leftDragInit = true; + _mouseState.startLeftX = _mouseState.x; + _mouseState.startLeftY = _mouseState.y; + } + _mouseState.leftDragging = true; + } + if (_mouseState.wheelDown) { + if (!_mouseState.wheelDragInit) { + _mouseState.wheelDragInit = true; + _mouseState.startWheelX = _mouseState.x; + _mouseState.startWheelY = _mouseState.y; + } + _mouseState.wheelDragging = true; + } + if (_mouseState.rightDown) { + if (!_mouseState.rightDragInit) { + _mouseState.rightDragInit = true; + _mouseState.startRightX = _mouseState.x; + _mouseState.startRightY = _mouseState.y; + } + _mouseState.rightDragging = true; + } +} + +void InputHandler::pos(double x, double y, bool events) { + std::swap(_mouseState.x, x); + std::swap(_mouseState.y, y); + + if (events) { + _mouseState.delX = _mouseState.x - x; + _mouseState.delY = _mouseState.y - y; + + mouseMoved(); + + emit(_mouseState); + _mouseState.leftDragInit = false; + _mouseState.wheelDragInit = false; + _mouseState.rightDragInit = false; + } +} + +void InputHandler::delX(double val, bool events) { + _mouseState.delX = val; + if (events) { + emit(_mouseState); + } +} + +void InputHandler::delY(double val, bool events) { + _mouseState.delY = val; + if (events) { + emit(_mouseState); + } +} + + +void InputHandler::delWheel(double val, bool events) { + _mouseState.delWheel = val; + if (events) { + emit(_mouseState); + } +} + +void InputHandler::leftDown(bool val, bool events) { + _mouseState.leftDown = val; + if (events) { + if (!val) { + _mouseState.leftDragging = false; + _mouseState.leftDragFinish = true; + } + emit(_mouseState); + _mouseState.leftDragFinish = false; + } +} + +void InputHandler::wheelDown(bool val, bool events) { + _mouseState.wheelDown = val; + if (events) { + if (!val) { + _mouseState.wheelDragging = false; + _mouseState.wheelDragFinish = true; + } + emit(_mouseState); + _mouseState.wheelDragFinish = false; + } +} + +void InputHandler::rightDown(bool val, bool events) { + _mouseState.rightDown = val; + if (events) { + if (!val) { + _mouseState.rightDragging = false; + _mouseState.rightDragFinish = true; + } + emit(_mouseState); + _mouseState.rightDragFinish = false; + } +} + +void InputHandler::key(int key, bool down, bool events) { + if (down) { + _keyboard.insert(key); + } else { + _keyboard.erase(_keyboard.find((key))); + } +} + +void InputHandler::emit(MouseState &event) { + for (int i = 0; i < mouseSubscribers.size(); i++) { + //mouseSubscribers.at(i)->operator()(event); + mouseSubscribers.at(i)(event); + } +} + +void InputHandler::registerMouseListener(void(*listener)(MouseState &mouseState)) { + mouseSubscribers.push_back(listener); +} + +void InputHandler::deregisterMouseListener(MouseListener listener) { + mouseSubscribers.erase(std::remove(mouseSubscribers.begin(), mouseSubscribers.end(), listener), mouseSubscribers.end()); +} diff --git a/core/display/InputHandler.h b/core/display/InputHandler.h new file mode 100644 index 00000000..bbb540a4 --- /dev/null +++ b/core/display/InputHandler.h @@ -0,0 +1,87 @@ +// +// Created by austin on 2/26/16. +// + +#ifndef FLUIDSOLVER_INPUTHANDLER_H +#define FLUIDSOLVER_INPUTHANDLER_H + +#include +#include +#include + +class InputHandler { + +public: + static InputHandler& getInputHandler() { + static InputHandler inputHandler; + return inputHandler; + } + + double x() const; + double y() const; + double delX() const; + double delY() const; + double delWheel() const; + bool leftDown() const; + bool wheelDown() const; + bool rightDown() const; + bool key(int key) const; + + void x(double val, bool events = true); + void y(double val, bool events = true); + void pos(double x, double y, bool events = true); + void delX(double val, bool events = true); + void delY(double val, bool events = true); + void delWheel(double val, bool events = true); + void leftDown(bool val, bool events = true); + void wheelDown(bool val, bool events = true); + void rightDown(bool val, bool events = true); + void key(int key, bool down, bool events = true); + + struct MouseState { + double x; + double y; + double delX; + double delY; + double startLeftX; + double startLeftY; + double startWheelX; + double startWheelY; + double startRightX; + double startRightY; + double delWheel; + bool leftDown; + bool wheelDown; + bool rightDown; + bool leftDragInit; + bool wheelDragInit; + bool rightDragInit; + bool leftDragging; + bool wheelDragging; + bool rightDragging; + bool leftDragFinish; + bool wheelDragFinish; + bool rightDragFinish; + }; + + typedef void(*MouseListener)(MouseState&); + void registerMouseListener(MouseListener listener); + void deregisterMouseListener(MouseListener listener); + +private: + InputHandler(); + InputHandler(InputHandler const&) {} // prevent copies + void operator=(InputHandler const&) {} // prevent assignments + + std::set _keyboard; + + MouseState _mouseState; + + void mouseMoved(); + + std::vector mouseSubscribers; + void emit(MouseState &event); +}; + + +#endif //FLUIDSOLVER_INPUTHANDLER_H diff --git a/core/display/Window.cpp b/core/display/Window.cpp new file mode 100644 index 00000000..daaa1ccf --- /dev/null +++ b/core/display/Window.cpp @@ -0,0 +1,177 @@ +// +// Created by austin on 2/25/16. +// + +#include "Window.h" +#include +#include +#include + +static void error_callback(int error, const char* description) { + fputs(description, stderr); +} + +InputHandler &inputHandler = InputHandler::getInputHandler(); + +Window::Window(const char *title) : Window(640, 480, title) { } +Window::Window(int w, int h) : Window(w, h, "GL Window"){ } +Window::Window(int w, int h, const char* title) : _window(nullptr) { + glfwSetErrorCallback(error_callback); + + if (!glfwInit()) exit(EXIT_FAILURE); + + glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing + //glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3 + //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; should not be needed + //glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL + + _window = glfwCreateWindow(w, h, title, NULL, NULL); + + if (!_window) { + glfwTerminate(); + exit(EXIT_FAILURE); + } + + glfwMakeContextCurrent(_window); + glfwSwapInterval(1); + setupInputCBs(); + + glewExperimental= GL_TRUE; // Needed in core profile + if (glewInit() != GLEW_OK) { + fprintf(stderr, "Failed to initialize GLEW\n"); + exit(EXIT_FAILURE); + } + + GLuint vao; + glGenVertexArrays(1, &vao); + glBindVertexArray(vao); +} + +Window::~Window() { + +} + +void Window::setupInputCBs() { + + glfwSetKeyCallback(_window, [&](GLFWwindow *window, int key, int scancode, int action, int mods) { + std::cout << key << std::endl; + if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) + glfwSetWindowShouldClose(window, GL_TRUE); + + switch(action) { + case GLFW_PRESS: + inputHandler.key(scancode, true); + break; + case GLFW_RELEASE: + inputHandler.key(scancode, false); + break; + default:break; + } + }); + glfwSetCursorPosCallback(_window, [](GLFWwindow* window, double xpos, double ypos) { + inputHandler.pos(xpos, ypos); + }); + glfwSetMouseButtonCallback(_window, [](GLFWwindow* window, int button, int action, int mods) { + switch(button) { + case GLFW_MOUSE_BUTTON_LEFT: + switch(action) { + case GLFW_PRESS: + inputHandler.leftDown(true); + break; + case GLFW_RELEASE: + inputHandler.leftDown(false); + break; + default:break; + } + break; + case GLFW_MOUSE_BUTTON_MIDDLE: + switch(action) { + case GLFW_PRESS: + inputHandler.wheelDown(true); + break; + case GLFW_RELEASE: + inputHandler.wheelDown(false); + break; + default:break; + } + break; + case GLFW_MOUSE_BUTTON_RIGHT: + switch(action) { + case GLFW_PRESS: + inputHandler.rightDown(true); + break; + case GLFW_RELEASE: + inputHandler.rightDown(false); + break; + default:break; + } + break; + default:break; + } + }); + glfwSetScrollCallback(_window, [&](GLFWwindow* window, double xoffset, double yoffset) { + inputHandler.delWheel(yoffset); + }); + + inputHandler.registerMouseListener([](InputHandler::MouseState &mouseState) { + + }); +} + +void Window::initloop() { + + glClearColor(0.2f, 0.2f, 0.2f, 1.f); + + static const GLfloat particle_vertex_data[] = { + -0.5f, -0.5f, 0.0f, + 0.5f, -0.5f, 0.0f, + -0.5f, 0.5f, 0.0f, + 0.5f, 0.5f, 0.0f, + }; + + GLuint particles_position_buffer; + + glGenBuffers(1, &particles_position_buffer); + glBindBuffer(GL_ARRAY_BUFFER, particles_position_buffer); + + // Initialize with empty (NULL) buffer : it will be updated later, each frame. + glBufferData(GL_ARRAY_BUFFER, 1000 * 4 * sizeof(GLfloat), NULL, GL_STREAM_DRAW); + + while (!glfwWindowShouldClose(_window)) { + float ratio; + int width, height; + glfwGetFramebufferSize(_window, &width, &height); + ratio = width / (float) height; + + glViewport(0, 0, width, height); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f); + glMatrixMode(GL_MODELVIEW); + + glLoadIdentity(); + glRotatef((float) glfwGetTime() * 50.f, 0.f, 0.f, 1.f); + glBegin(GL_TRIANGLES); + glColor3f(1.f, 0.f, 0.f); + glVertex3f(-0.6f, -0.4f, 0.f); + glColor3f(0.f, 1.f, 0.f); + glVertex3f(0.6f, -0.4f, 0.f); + glColor3f(0.f, 0.f, 1.f); + glVertex3f(0.f, 0.6f, 0.f); + glEnd(); + + glfwSwapBuffers(_window); + glfwPollEvents(); + } + + glfwDestroyWindow(_window); + glfwTerminate(); + exit(EXIT_SUCCESS); +} + +void Window::handleMouseInput(InputHandler::MouseState &mouseState) { + +} diff --git a/core/display/Window.h b/core/display/Window.h new file mode 100644 index 00000000..2e7fa836 --- /dev/null +++ b/core/display/Window.h @@ -0,0 +1,27 @@ +// +// Created by austin on 2/25/16. +// + +#ifndef FLUID_SIMULATOR_WINDOW_H +#define FLUID_SIMULATOR_WINDOW_H + +#include +#include +#include "InputHandler.h" + +class Window { +public: + Window(const char* title); + Window(int w = 640, int h = 480); + Window(int w, int h, const char* title); + ~Window(); + void initloop(); + +private: + GLFWwindow* _window; + void setupInputCBs(); + void handleMouseInput(InputHandler::MouseState &mouseState); +}; + + +#endif //FLUID_SIMULATOR_WINDOW_H diff --git a/core/fileIO/SceneLoader.cpp b/core/fileIO/SceneLoader.cpp new file mode 100644 index 00000000..6945dc77 --- /dev/null +++ b/core/fileIO/SceneLoader.cpp @@ -0,0 +1,77 @@ +// +// Created by austin on 2/26/16. +// + +#include +#include +#include "SceneLoader.h" + +const char* SceneLoader::defaultScene = + "{\n" + "\t\"containerDim\" : {\n" + "\t\t\"scaleX\" : 5.0,\n" + "\t\t\"scaleY\" : 5.0,\n" + "\t\t\"scaleZ\" : 5.0\n" + "\t},\n" + "\t\"particleDim\" : {\n" + "\t\t\"boundX\" : 3.7,\n" + "\t\t\"boundY\" : 3.7,\n" + "\t\t\"boundZ\" : 3.7\n" + "\t},\n" + "\t\"particleSeparation\" : 0.1\n" + "}"; + +Fluid::Solver* SceneLoader::LoadScene(const char *filepath) { + Json::Reader reader; + + std::ifstream fileStream(filepath, std::ifstream::binary); + + Json::Value root; + if (filepath != nullptr) { + if (!reader.parse(fileStream, root, false)) { + fprintf(stderr, "Failed to load json file %s!", filepath); + exit(EXIT_FAILURE); + } + } else { + return LoadScene(std::string(defaultScene)); + } + + return parseJson(root); +} + +Fluid::Solver* SceneLoader::LoadScene(const std::string &jsonstring) { + Json::Reader reader; + Json::Value root; + + if (!reader.parse(jsonstring, root, false)) { + fprintf(stderr, "Failed to load json string!\n %s", jsonstring); + exit(EXIT_FAILURE); + } + + return parseJson(root); +} + +Fluid::Solver* SceneLoader::parseJson(const Json::Value &root) { + Json::Value containerDim = root["containerDim"]; + Json::Value particleDim = root["particleDim"]; + Json::Value particleSeparation = root["particleSeparation"]; + + float containerX = containerDim["scaleX"].asFloat(); + float containerY = containerDim["scaleY"].asFloat(); + float containerZ = containerDim["scaleZ"].asFloat(); + + float particleX = particleDim["boundX"].asFloat(); + float particleY = particleDim["boundY"].asFloat(); + float particleZ = particleDim["boundZ"].asFloat(); + + float particleSep = particleSeparation.asFloat(); + + glm::vec3 origin; + Box* container = new Box(origin, containerX, containerY, containerZ); + Box* fluidObject = new Box(origin, particleX, particleY, particleZ); + + Fluid::Solver* solver = new Fluid::Solver(particleSep); + solver->setContainer(container); + solver->addFluid(fluidObject); + return solver; +} diff --git a/core/fileIO/SceneLoader.h b/core/fileIO/SceneLoader.h new file mode 100644 index 00000000..e8139e8a --- /dev/null +++ b/core/fileIO/SceneLoader.h @@ -0,0 +1,23 @@ +// +// Created by austin on 2/26/16. +// + +#ifndef FLUIDSOLVER_SCENELOADER_H +#define FLUIDSOLVER_SCENELOADER_H + +#include +#include + +class SceneLoader { +public: + static Fluid::Solver* LoadScene(const char* filepath); + static Fluid::Solver* LoadScene(const std::string &jsonstring); + + static const char * defaultScene; + +private: + static Fluid::Solver* parseJson(const Json::Value &root); +}; + + +#endif //FLUIDSOLVER_SCENELOADER_H diff --git a/core/geometry/Bound.cpp b/core/geometry/Bound.cpp new file mode 100644 index 00000000..17ee970d --- /dev/null +++ b/core/geometry/Bound.cpp @@ -0,0 +1,158 @@ +// +// Created by austin on 2/27/16. +// + +#include "Bound.h" + +Bound::Bound() {} + +Bound::Bound(const glm::vec3 ¢er, const glm::vec3 &dim) : Bound(center, dim.x, dim.y, dim.z) {} + +Bound::Bound(const glm::vec3 ¢er, float sX, float sY, float sZ) : Bound(center.x - sX / 2.f, center.y - sY / 2.f, center.z - sZ / 2.f, + center.x + sX/2.f, center.y + sY/2.f, center.z + sZ/2.f) {} + +Bound::Bound(float cX, float cY, float cZ, const glm::vec3 &dim) : Bound(cX - dim.x, cY - dim.y, cZ - dim.z, + cX + dim.x, cY + dim.y, cZ + dim.z) {} + +Bound::Bound(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) + : _minX(minX), _minY(minY), _minZ(minZ), _maxX(maxX), _maxY(maxY), _maxZ(maxZ) {} + +Bound::~Bound() {} + +float Bound::minX() const { return _minX; } + +float Bound::minY() const { return _minY; } + +float Bound::minZ() const { return _minZ; } + +float Bound::maxX() const { return _maxX; } + +float Bound::maxY() const { return _maxY; } + +float Bound::maxZ() const { return _maxZ; } + +float Bound::width() const { return _maxX - _minX; } + +float Bound::height() const { return _maxY - _minY; } + +float Bound::depth() const { return _maxZ - _minZ; } + +glm::vec3 Bound::dim() const { return glm::vec3(_maxX - _minX, _maxY - _minY, _maxZ - _minZ); } + +glm::vec3 Bound::center() const { return glm::vec3((_minX + _maxX) / 2.f, (_minY + _maxY) / 2.f, (_minZ + _maxZ) / 2.f); } + +bool Bound::contains(const glm::vec3 &pt) { + return (pt.x >= _minX && pt.x < _maxX && + pt.y >= _minY && pt.y < _maxY && + pt.z >= _minZ && pt.z < _maxZ); +} + +bool Bound::collidesPt(const glm::vec3 &pt, glm::vec3 &normal, float tolerance) { + if (fequal(pt.x, _minX, tolerance)) { + if (pt.y >= _minY && pt.y < _maxY && pt.z >= _minZ && pt.z < _maxZ) { + if (pt.x < _minX) { + normal = glm::vec3(-1.f, 0.f, 0.f); + } else { + normal = glm::vec3(1.f, 0.f, 0.f); + } + return true; + } + } else if (fequal(pt.x, _maxX, tolerance)) { + if (pt.y >= _minY && pt.y < _maxY && pt.z >= _minZ && pt.z < _maxZ) { + if (pt.x > _maxX) { + normal = glm::vec3(1.f, 0.f, 0.f); + } else { + normal = glm::vec3(-1.f, 0.f, 0.f); + } + return true; + } + } + if (fequal(pt.y, _minY, tolerance)) { + if (pt.x >= _minX && pt.x < _maxX && pt.z >= _minZ && pt.z < _maxZ) { + if (pt.y < _minY) { + normal = glm::vec3(0.f, -1.f, 0.f); + } else { + normal = glm::vec3(0.f, 1.f, 0.f); + } + return true; + } + } else if (fequal(pt.y, _maxY, tolerance)) { + if (pt.x >= _minX && pt.x < _maxX && pt.z >= _minZ && pt.z < _maxZ) { + if (pt.y > _maxY) { + normal = glm::vec3(0.f, 1.f, 0.f); + } else { + normal = glm::vec3(0.f, -1.f, 0.f); + } + return true; + } + } + if (fequal(pt.z, _minZ, tolerance)) { + if (pt.x >= _minX && pt.x < _maxX && pt.y >= _minY && pt.y < _maxY) { + if (pt.z < _minZ) { + normal = glm::vec3(0.f, 0.f, -1.f); + } else { + normal = glm::vec3(0.f, 0.f, 1.f); + } + return true; + } + } else if (fequal(pt.z, _maxZ, tolerance)) { + if (pt.x >= _minX && pt.x < _maxX && pt.y >= _minY && pt.y < _maxY) { + if (pt.z > _maxZ) { + normal = glm::vec3(0.f, 0.f, 1.f); + } else { + normal = glm::vec3(0.f, 0.f, -1.f); + } + return true; + } + } + return false; +} + +bool Bound::collides(const glm::vec3 &prev, const glm::vec3 &next, glm::vec3 &normal) { + if (prev.y >= _minY && prev.y < _maxY && prev.z >= _minZ && prev.z < _maxZ) { + if (prev.x > _minX && next.x <= _minX) { // cross minX plane + normal = glm::vec3(1.f, 0.f, 0.f); + return true; + } else if (prev.x < _minX && next.x >= _minX) { + normal = glm::vec3(-1.f, 0.f, 0.f); + return true; + } else if (prev.x < _maxX && next.x >= _maxX) { // cross maxX plane + normal = glm::vec3(-1.f, 0.f, 0.f); + return true; + } else if (prev.x > _maxX && next.x <= _maxX) { + normal = glm::vec3(1.f, 0.f, 0.f); + return true; + } + } + if (prev.x >= _minX && prev.x < _maxX && prev.z >= _minZ && prev.z < _maxZ) { + if (prev.y > _minY && next.y <= _minY) { // cross minY plane + normal = glm::vec3(0.f, 1.f, 0.f); + return true; + } else if (prev.y < _minY && next.y >= _minY) { + normal = glm::vec3(0.f, -1.f, 0.f); + return true; + } else if (prev.y < _maxY && next.y >= _maxY) { // cross maxY plane + normal = glm::vec3(0.f, -1.f, 0.f); + return true; + } else if (prev.y > _maxY && next.y <= _maxY) { + normal = glm::vec3(0.f, 1.f, 0.f); + return true; + } + } + if (prev.x >= _minX && prev.x < _maxX && prev.y >= _minY && prev.y < _maxY) { + if (prev.z > _minZ && next.z <= _minZ) { // cross minZ plane + normal = glm::vec3(0.f, 1.f, 0.f); + return true; + } else if (prev.z < _minZ && next.z >= _minZ) { + normal = glm::vec3(0.f, -1.f, 0.f); + return true; + } else if (prev.z < _maxZ && next.z >= _maxZ) { // cross maxZ plane + normal = glm::vec3(0.f, -1.f, 0.f); + return true; + } else if (prev.z > _maxZ && next.z <= _maxZ) { + normal = glm::vec3(0.f, 1.f, 0.f); + return true; + } + } + return false; +} \ No newline at end of file diff --git a/core/geometry/Bound.h b/core/geometry/Bound.h new file mode 100644 index 00000000..ce817c60 --- /dev/null +++ b/core/geometry/Bound.h @@ -0,0 +1,45 @@ +// +// Created by austin on 2/27/16. +// + +#ifndef FLUIDSOLVER_BOUND_H +#define FLUIDSOLVER_BOUND_H + +#include "Geo.h" + +class Bound : public Geo { +public: + Bound(); + Bound(const glm::vec3 ¢er, const glm::vec3 &dim); + Bound(const glm::vec3 ¢er, float sX, float sY, float sZ); + Bound(float cX, float cY, float cZ, const glm::vec3 &dim); + Bound(float minX, float minY, float minZ, float maxX, float maxY, float maxZ); + virtual ~Bound(); + + float minX() const; + float minY() const; + float minZ() const; + float maxX() const; + float maxY() const; + float maxZ() const; + float width() const; + float height() const; + float depth() const; + glm::vec3 dim() const; + glm::vec3 center() const; + + virtual bool contains(const glm::vec3 &pt); + virtual bool collidesPt(const glm::vec3 &pt, glm::vec3 &normal, float tolerance = 0.001f); + virtual bool collides(const glm::vec3 &prev, const glm::vec3 &next, glm::vec3 &normal); + +private: + float _minX; + float _minY; + float _minZ; + float _maxX; + float _maxY; + float _maxZ; +}; + + +#endif //FLUIDSOLVER_BOUND_H diff --git a/core/geometry/Box.cpp b/core/geometry/Box.cpp new file mode 100644 index 00000000..02f69ba2 --- /dev/null +++ b/core/geometry/Box.cpp @@ -0,0 +1,18 @@ +// +// Created by austin on 2/28/16. +// + +#include "Box.h" + +Box::Box(const glm::vec3 ¢er, const glm::vec3 &dim) : Box(center, dim.x, dim.y, dim.z) {} + +Box::Box(const glm::vec3 ¢er, float sX, float sY, float sZ) : Box(center.x - sX / 2.f, center.y - sY / 2.f, center.z - sZ / 2.f, + center.x + sX/2.f, center.y + sY/2.f, center.z + sZ/2.f) {} + +Box::Box(float cX, float cY, float cZ, const glm::vec3 &dim) : Box(cX - dim.x, cY - dim.y, cZ - dim.z, + cX + dim.x, cY + dim.y, cZ + dim.z) {} + +Box::Box(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) : + Bound(minX, minY, minZ, maxX, maxY, maxZ), GeoObject() { + computeBound(); +} diff --git a/core/geometry/Box.h b/core/geometry/Box.h new file mode 100644 index 00000000..51a2d258 --- /dev/null +++ b/core/geometry/Box.h @@ -0,0 +1,33 @@ +// +// Created by austin on 2/28/16. +// + +#ifndef FLUIDSOLVER_BOX_H +#define FLUIDSOLVER_BOX_H + +#include "GeoObject.h" + +class Box : public Bound, public GeoObject { +public: + Box(const glm::vec3 ¢er, const glm::vec3 &dim); + Box(const glm::vec3 ¢er, float sX, float sY, float sZ); + Box(float cX, float cY, float cZ, const glm::vec3 &dim); + Box(float minX, float minY, float minZ, float maxX, float maxY, float maxZ); + + virtual bool contains(const glm::vec3 &pt) { + return _bound.contains(pt); + } + virtual bool collidesPt(const glm::vec3 &pt, glm::vec3 &normal, float tolerance = 0.001f) { + return _bound.collidesPt(pt, normal, tolerance); + } + virtual bool collides(const glm::vec3 &prev, const glm::vec3 &next, glm::vec3 &normal) { + return _bound.collides(prev, next, normal); + } + + virtual void computeBound() { + _bound = *this; + } +}; + + +#endif //FLUIDSOLVER_BOX_H diff --git a/core/geometry/Geo.cpp b/core/geometry/Geo.cpp new file mode 100644 index 00000000..a5934646 --- /dev/null +++ b/core/geometry/Geo.cpp @@ -0,0 +1,28 @@ +// +// Created by austin on 2/27/16. +// + + +#include "Geo.h" + +bool Geo::collidesPt(const glm::vec3 &pt, float tolerance) { + glm::vec3 norm; + return collidesPt(pt, norm, tolerance); +} + +bool Geo::collides(const glm::vec3 &prev, const glm::vec3 &next) { + glm::vec3 norm; + return collides(prev, next, norm); +} + +bool Geo::collidesRay(const glm::vec3 &pt, const glm::vec3 &dir, float step) { + assert(fequal(glm::length(dir), 1.f)); + glm::vec3 nextPt = pt + dir * step; + return collides(pt, nextPt); +} + +bool Geo::collidesRay(const glm::vec3 &pt, const glm::vec3 &dir, glm::vec3 &normal, float step) { + assert(fequal(glm::length(dir), 1.f)); + glm::vec3 nextPt = pt + dir * step; + return collides(pt, nextPt, normal); +} \ No newline at end of file diff --git a/core/geometry/Geo.h b/core/geometry/Geo.h new file mode 100644 index 00000000..de98ae0c --- /dev/null +++ b/core/geometry/Geo.h @@ -0,0 +1,31 @@ +// +// Created by austin on 2/27/16. +// + +#ifndef FLUIDSOLVER_GEO_H +#define FLUIDSOLVER_GEO_H + +#include + +class Geo { +public: + Geo() { } + virtual ~Geo() { } + + virtual bool contains(const glm::vec3 &pt) = 0; + + virtual bool collidesPt(const glm::vec3 &pt, float tolerance = 0.001f); + + virtual bool collidesPt(const glm::vec3 &pt, glm::vec3 &normal, float tolerance = 0.001f) = 0; + + virtual bool collides(const glm::vec3 &prev, const glm::vec3 &next); + + virtual bool collides(const glm::vec3 &prev, const glm::vec3 &next, glm::vec3 &normal) = 0; + + virtual bool collidesRay(const glm::vec3 &pt, const glm::vec3 &dir, float step = 0.001f); + + virtual bool collidesRay(const glm::vec3 &pt, const glm::vec3 &dir, glm::vec3 &normal, float step = 0.001f); +}; + + +#endif //FLUIDSOLVER_GEO_H diff --git a/core/geometry/GeoObject.h b/core/geometry/GeoObject.h new file mode 100644 index 00000000..b6cf29c6 --- /dev/null +++ b/core/geometry/GeoObject.h @@ -0,0 +1,23 @@ +// +// Created by austin on 2/28/16. +// + +#ifndef FLUIDSOLVER_GEOOBJECT_H +#define FLUIDSOLVER_GEOOBJECT_H + +#include "Geo.h" +#include "Bound.h" + +class GeoObject : public Geo { +public: + GeoObject() { } + virtual ~GeoObject() {} + virtual void computeBound() = 0; + Bound& bound() { return _bound; } + +protected: + Bound _bound; +}; + + +#endif //FLUIDSOLVER_GEOOBJECT_H diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp new file mode 100644 index 00000000..f0189726 --- /dev/null +++ b/core/solver/FluidSolver.cpp @@ -0,0 +1,59 @@ +// +// Created by austin on 2/28/16. +// + +#include "FluidSolver.h" + +float Fluid::Solver::g = -9.80665f; + +Fluid::Solver::Solver(float particleSep) : particle_radius(particleSep) { + +} + +Fluid::Solver::~Solver() { + delete _container; + for (Particle* p : _particles) { + delete p; + } +} + +void Fluid::Solver::setContainer(GeoObject *container) { + _container = container; +} + +void Fluid::Solver::addFluid(GeoObject *fluid) { + Bound& b = fluid->bound(); + for (float x = b.minX(); x < b.maxX(); x += particle_radius) { + for (float y = b.minY(); y < b.maxY(); y += particle_radius) { + for (float z = b.minZ(); z < b.maxZ(); z += particle_radius) { + glm::vec3 pos = glm::vec3(x, y, z); + if (fluid->contains(pos)) { + Particle* p = new Particle(); + p->pos = pos; + _particles.push_back(p); + } + } + } + } +} + +void Fluid::Solver::update(float step) { + presolve(step); + solve(step); + postsolve(step); +} + +void Fluid::Solver::presolve(float step) { + +} + +void Fluid::Solver::solve(float step) { + for (Particle* p : _particles) { + p->vel += g * step; + p->pos += p->vel * step; + } +} + +void Fluid::Solver::postsolve(float step) { + +} diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h new file mode 100644 index 00000000..024ba461 --- /dev/null +++ b/core/solver/FluidSolver.h @@ -0,0 +1,49 @@ +// +// Created by austin on 2/28/16. +// + +#ifndef FLUIDSOLVER_FLUIDSOLVER_H +#define FLUIDSOLVER_FLUIDSOLVER_H + +#include +#include +#include + +namespace Fluid { + struct Particle { + glm::vec3 pos; + glm::vec3 vel; + glm::vec3 col; + + Particle() { + pos = glm::vec3(0); + vel = glm::vec3(0); + col = glm::vec3(0.5f, 0.5f, 1.f); + } + }; + + class Solver { + public: + Solver(float particleSep); + ~Solver(); + + void setContainer(GeoObject* container); + void addFluid(GeoObject* fluid); + + void update(float step = 0.04166f); + + private: + GeoObject* _container; + std::vector _particles; + float particle_radius; + + void presolve(float step); + void solve(float step); + void postsolve(float step); + + static float g; + }; +} + + +#endif //FLUIDSOLVER_FLUIDSOLVER_H diff --git a/core/util/math.h b/core/util/math.h new file mode 100644 index 00000000..1937e181 --- /dev/null +++ b/core/util/math.h @@ -0,0 +1,34 @@ +// +// Created by austin on 2/27/16. +// + +#ifndef FLUIDSOLVER_MATH_H +#define FLUIDSOLVER_MATH_H + +#define GLM_FORCE_RADIANS + +#include + +static const float PI = 3.14159265358979323846f; +static const float TWO_PI = 2 * PI; +static const float DEG2RAD = PI / 180.f; +static const float RAD2DEG = 180.f / PI; + +// Float approximate-equality comparison +template +inline bool fequal(T a, T b, T epsilon = 0.0001){ + if (a == b) { + // Shortcut + return true; + } + + const T diff = std::abs(a - b); + if (a * b == 0) { + // a or b or both are zero; relative error is not meaningful here + return diff < (epsilon * epsilon); + } + + return diff / (std::abs(a) + std::abs(b)) < epsilon; +} + +#endif //FLUIDSOLVER_MATH_H diff --git a/main.cpp b/main.cpp new file mode 100644 index 00000000..860ceeb8 --- /dev/null +++ b/main.cpp @@ -0,0 +1,12 @@ +#include +#include + +int main(int argc, char* argv[]) { + Window* window = new Window("Fluid Solver"); + SceneLoader::LoadScene(argv[1]); + + window->initloop(); + delete window; + + return 0; +} \ No newline at end of file diff --git a/src/camera/camera.cpp b/src/camera/camera.cpp deleted file mode 100644 index fb246b12..00000000 --- a/src/camera/camera.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// -// camera.cpp -// Thanda -// - -#include "camera.hpp" diff --git a/src/camera/camera.hpp b/src/camera/camera.hpp deleted file mode 100644 index 59ad2b12..00000000 --- a/src/camera/camera.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// -// camera.hpp -// Thanda -// - -#ifndef camera_hpp -#define camera_hpp - - -#endif /* camera_hpp */ diff --git a/src/fluidSolver/fluidSolver.cpp b/src/fluidSolver/fluidSolver.cpp deleted file mode 100644 index 9c9a1663..00000000 --- a/src/fluidSolver/fluidSolver.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// -// fluidSolver.cpp -// Thanda - - -#include "fluidSolver.hpp" diff --git a/src/fluidSolver/fluidSolver.hpp b/src/fluidSolver/fluidSolver.hpp deleted file mode 100644 index 6429c4e3..00000000 --- a/src/fluidSolver/fluidSolver.hpp +++ /dev/null @@ -1,9 +0,0 @@ -// -// fluidSolver.hpp -// Thanda - -#ifndef fluidSolver_hpp -#define fluidSolver_hpp - - -#endif /* fluidSolver_hpp */ diff --git a/src/geom/geom.cpp b/src/geom/geom.cpp deleted file mode 100644 index c4438fdc..00000000 --- a/src/geom/geom.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// -// geom.cpp -// Thanda - -#include "geom.hpp" diff --git a/src/geom/geom.hpp b/src/geom/geom.hpp deleted file mode 100644 index 91e658f7..00000000 --- a/src/geom/geom.hpp +++ /dev/null @@ -1,9 +0,0 @@ -// -// geom.hpp -// Thanda - -#ifndef geom_hpp -#define geom_hpp - - -#endif /* geom_hpp */ diff --git a/src/main.cpp b/src/main.cpp deleted file mode 100644 index 2a00d1e4..00000000 --- a/src/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "main.hpp" - -using namespace std; - - -int main() -{ - - return 0; -} - diff --git a/src/main.hpp b/src/main.hpp deleted file mode 100644 index fe1f64d5..00000000 --- a/src/main.hpp +++ /dev/null @@ -1,9 +0,0 @@ -// -// main.hpp -// Thanda - -#ifndef main_hpp -#define main_hpp - -#endif /* main_hpp */ - diff --git a/src/scene/scene.cpp b/src/scene/scene.cpp deleted file mode 100644 index 32300ca9..00000000 --- a/src/scene/scene.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// -// scene.cpp -// Thanda - -#include "scene.hpp" diff --git a/src/scene/scene.hpp b/src/scene/scene.hpp deleted file mode 100644 index 84022a43..00000000 --- a/src/scene/scene.hpp +++ /dev/null @@ -1,3 +0,0 @@ -// -// scene.hpp -// Thanda \ No newline at end of file diff --git a/src/scene/scene.json b/src/scene/scene.json deleted file mode 100644 index 789b4a42..00000000 --- a/src/scene/scene.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "containerDim" : { - "scaleX" : 5.0, - "scaleY" : 5.0, - "scaleZ" : 5.0 - }, - "particleDim" : { - "boundX" : 3.7, - "boundY" : 3.7, - "boundZ" : 3.7 - }, - "particleSeparation" : 0.1 -} \ No newline at end of file diff --git a/src/viewer/viewer.cpp b/src/viewer/viewer.cpp deleted file mode 100644 index 60d1868a..00000000 --- a/src/viewer/viewer.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// -// viewer.cpp -// Thanda - -#include "viewer.hpp" diff --git a/src/viewer/viewer.hpp b/src/viewer/viewer.hpp deleted file mode 100644 index abb78a17..00000000 --- a/src/viewer/viewer.hpp +++ /dev/null @@ -1,9 +0,0 @@ -// -// viewer.hpp -// Thanda - -#ifndef viewer_hpp -#define viewer_hpp - - -#endif /* viewer_hpp */ From 755c0686c591d25830fef8655629aa6b862d40a0 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Sun, 28 Feb 2016 15:14:49 -0500 Subject: [PATCH 02/29] update config for linux --- CMakeLists.txt | 1 + nuparu/lib/linux/libjsoncpp.a | Bin 0 -> 2827240 bytes 2 files changed, 1 insertion(+) create mode 100644 nuparu/lib/linux/libjsoncpp.a diff --git a/CMakeLists.txt b/CMakeLists.txt index 9347af9c..4859f822 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Linux specific hacks/fixes if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(CORE_LIBS ${CORE_LIBS} X11 Xxf86vm Xrandr pthread Xi) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11 -lXxf86vm -lXrandr -lpthread -lXi") endif() diff --git a/nuparu/lib/linux/libjsoncpp.a b/nuparu/lib/linux/libjsoncpp.a new file mode 100644 index 0000000000000000000000000000000000000000..a5509650e4614e3bc8529259195b9b794e3cebf3 GIT binary patch literal 2827240 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,#ANB1M2oLa=NGUqbMefUYChsu{Hzd^fxw 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

9nz^nZZr%%VEyC6D9re7{R+1k-}6;cd~&Si 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

EW`1kY0+z!@SV18a1QdsU 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

A@DIgQ4^zOB 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 Hz0ChVm8x@c literal 0 HcmV?d00001 From 92935f43692f363d8d2834b93656b43a501a8fb0 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 01:51:08 -0500 Subject: [PATCH 03/29] draw simple set of points --- CMakeLists.txt | 2 +- core/display/Window.cpp | 161 +++++++++++++++++++++------ core/display/Window.h | 1 + core/display/shaders/particle.frag.h | 17 +++ core/display/shaders/particle.vert.h | 18 +++ core/solver/FluidSolver.cpp | 13 +-- core/solver/FluidSolver.h | 2 +- 7 files changed, 167 insertions(+), 47 deletions(-) create mode 100644 core/display/shaders/particle.frag.h create mode 100644 core/display/shaders/particle.vert.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 4859f822..0225e101 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h -) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index daaa1ccf..e5161e4f 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -3,10 +3,11 @@ // #include "Window.h" -#include -#include #include +#include "shaders/particle.frag.h" +#include "shaders/particle.vert.h" + static void error_callback(int error, const char* description) { fputs(description, stderr); } @@ -21,10 +22,10 @@ Window::Window(int w, int h, const char* title) : _window(nullptr) { if (!glfwInit()) exit(EXIT_FAILURE); glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing - //glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3 - //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); - //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; should not be needed - //glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3 + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; should not be needed + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL _window = glfwCreateWindow(w, h, title, NULL, NULL); @@ -42,10 +43,6 @@ Window::Window(int w, int h, const char* title) : _window(nullptr) { fprintf(stderr, "Failed to initialize GLEW\n"); exit(EXIT_FAILURE); } - - GLuint vao; - glGenVertexArrays(1, &vao); - glBindVertexArray(vao); } Window::~Window() { @@ -119,49 +116,139 @@ void Window::setupInputCBs() { }); } +GLuint compileShader(const char* shader, GLenum type) { + GLuint shaderId = glCreateShader(type); + glShaderSourceARB(shaderId, 1, &shader, NULL); + glCompileShader(shaderId); + + GLint success = 0; + glGetShaderiv(shaderId, GL_COMPILE_STATUS, &success); + if (success == GL_FALSE) { + fprintf(stderr, "Failed to compile shader!\n%s\n", shader); + + GLint maxLength = 0; + glGetShaderiv(shaderId, GL_INFO_LOG_LENGTH, &maxLength); + + std::vector errorLog(maxLength); + glGetShaderInfoLog(shaderId, maxLength, &maxLength, &errorLog[0]); + + fprintf(stderr, "%s\n", &errorLog[0]); + + glDeleteShader(shaderId); + } + + return shaderId; +} + +GLuint makeProgram(std::vector programs) { + GLuint prog = glCreateProgram(); + for (GLuint program : programs) { + glAttachShader(prog, program); + } + glLinkProgram(prog); + + for (GLuint program : programs) { + glDetachShader(prog, program); + glDeleteShader(program); + } + + GLint linked; + glGetProgramiv(prog, GL_LINK_STATUS, &linked); + if (!linked) { + std::cerr << "Failed to link program!" << std::endl; + + GLint length; + glGetProgramiv(prog, GL_INFO_LOG_LENGTH, &length); + if ( length > 0 ){ + std::vector ProgramErrorMessage(length+1); + glGetProgramInfoLog(prog, length, NULL, &ProgramErrorMessage[0]); + fprintf(stderr, "%s\n", &ProgramErrorMessage[0]); + } + } + return prog; +} + void Window::initloop() { + GLuint vao; + glGenVertexArrays(1, &vao); + glBindVertexArray(vao); + + GLuint particleVert = compileShader(particle_vert.c_str(), GL_VERTEX_SHADER); + GLuint particleFrag = compileShader(particle_frag.c_str(), GL_FRAGMENT_SHADER); + + std::vector programs = {particleVert, particleFrag}; + GLuint particleProg = makeProgram(programs); + + GLint attrPos = glGetAttribLocation(particleProg, "v_pos");; + GLint attrVel = glGetAttribLocation(particleProg, "v_vel"); + GLint attrCol = glGetAttribLocation(particleProg, "v_col"); glClearColor(0.2f, 0.2f, 0.2f, 1.f); - static const GLfloat particle_vertex_data[] = { - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f, - -0.5f, 0.5f, 0.0f, - 0.5f, 0.5f, 0.0f, - }; + int MaxParticles = 1000; GLuint particles_position_buffer; - glGenBuffers(1, &particles_position_buffer); glBindBuffer(GL_ARRAY_BUFFER, particles_position_buffer); + //glBufferData(GL_ARRAY_BUFFER, MaxParticles * 4 * sizeof(GLfloat), NULL, GL_STREAM_DRAW); + glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); + + GLuint particles_color_buffer; + glGenBuffers(1, &particles_color_buffer); + glBindBuffer(GL_ARRAY_BUFFER, particles_color_buffer); + //glBufferData(GL_ARRAY_BUFFER, MaxParticles * 4 * sizeof(GLubyte), NULL, GL_STREAM_DRAW); + glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); + + GLuint particles_buffer; + glGenBuffers(1, &particles_buffer); + glBindBuffer(GL_ARRAY_BUFFER, particles_buffer); + //glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(Fluid::Particle), NULL, GL_STREAM_DRAW); + glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); + + + std::vector particles; + Fluid::Particle p1; + p1.pos = glm::vec3(0, 0, 0); - // Initialize with empty (NULL) buffer : it will be updated later, each frame. - glBufferData(GL_ARRAY_BUFFER, 1000 * 4 * sizeof(GLfloat), NULL, GL_STREAM_DRAW); + Fluid::Particle p2; + p2.pos = glm::vec3(0, 0.8, 0); + + Fluid::Particle p3; + p3.pos = glm::vec3(0.8, 0.8, 0); + + particles.push_back(p1); + particles.push_back(p2); + particles.push_back(p3); while (!glfwWindowShouldClose(_window)) { - float ratio; int width, height; glfwGetFramebufferSize(_window, &width, &height); - ratio = width / (float) height; - glViewport(0, 0, width, height); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f); - glMatrixMode(GL_MODELVIEW); - - glLoadIdentity(); - glRotatef((float) glfwGetTime() * 50.f, 0.f, 0.f, 1.f); - glBegin(GL_TRIANGLES); - glColor3f(1.f, 0.f, 0.f); - glVertex3f(-0.6f, -0.4f, 0.f); - glColor3f(0.f, 1.f, 0.f); - glVertex3f(0.6f, -0.4f, 0.f); - glColor3f(0.f, 0.f, 1.f); - glVertex3f(0.f, 0.6f, 0.f); - glEnd(); + glBindBuffer(GL_ARRAY_BUFFER, particles_buffer); + glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(Fluid::Particle), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, MaxParticles * sizeof(Fluid::Particle), &particles[0]); + + glEnableVertexAttribArray(attrPos); + glVertexAttribPointer(attrPos, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, pos)); + + glEnableVertexAttribArray(attrVel); + glVertexAttribPointer(attrVel, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, vel)); + + glEnableVertexAttribArray(attrCol); + glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, col)); + + glUseProgram(particleProg); + glBindVertexArray(vao); + + glPointSize(3); + + glDrawArrays(GL_POINTS, 0, (GLsizei) particles.size()); + + glDisableVertexAttribArray(attrPos); + glDisableVertexAttribArray(attrVel); + glDisableVertexAttribArray(attrCol); glfwSwapBuffers(_window); glfwPollEvents(); diff --git a/core/display/Window.h b/core/display/Window.h index 2e7fa836..856227a5 100644 --- a/core/display/Window.h +++ b/core/display/Window.h @@ -8,6 +8,7 @@ #include #include #include "InputHandler.h" +#include class Window { public: diff --git a/core/display/shaders/particle.frag.h b/core/display/shaders/particle.frag.h new file mode 100644 index 00000000..23014806 --- /dev/null +++ b/core/display/shaders/particle.frag.h @@ -0,0 +1,17 @@ +// +// Created by austin on 2/28/16. +// + +std::string particle_frag = R"( +#version 150 + +in vec3 f_col; +out vec4 out_Col; + +void main() { + out_Col = vec4(f_col.rgb, 1); + if (f_col.b == 0) { + //out_Col = vec4(1,1,1,1); + } +} +)"; \ No newline at end of file diff --git a/core/display/shaders/particle.vert.h b/core/display/shaders/particle.vert.h new file mode 100644 index 00000000..b9df04df --- /dev/null +++ b/core/display/shaders/particle.vert.h @@ -0,0 +1,18 @@ +// +// Created by austin on 2/28/16. +// + +std::string particle_vert = R"( +#version 150 + +in vec3 v_pos; +in vec3 v_vel; +in vec3 v_col; + +out vec3 f_col; + +void main() { + f_col = v_col; + gl_Position = vec4(v_pos, 1); +} +)"; \ No newline at end of file diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index f0189726..02a45059 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -12,9 +12,6 @@ Fluid::Solver::Solver(float particleSep) : particle_radius(particleSep) { Fluid::Solver::~Solver() { delete _container; - for (Particle* p : _particles) { - delete p; - } } void Fluid::Solver::setContainer(GeoObject *container) { @@ -28,8 +25,8 @@ void Fluid::Solver::addFluid(GeoObject *fluid) { for (float z = b.minZ(); z < b.maxZ(); z += particle_radius) { glm::vec3 pos = glm::vec3(x, y, z); if (fluid->contains(pos)) { - Particle* p = new Particle(); - p->pos = pos; + Particle p; + p.pos = pos; _particles.push_back(p); } } @@ -48,9 +45,9 @@ void Fluid::Solver::presolve(float step) { } void Fluid::Solver::solve(float step) { - for (Particle* p : _particles) { - p->vel += g * step; - p->pos += p->vel * step; + for (Particle &p : _particles) { + p.vel += g * step; + p.pos += p.vel * step; } } diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 024ba461..23dc2a20 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -34,7 +34,7 @@ namespace Fluid { private: GeoObject* _container; - std::vector _particles; + std::vector _particles; float particle_radius; void presolve(float step); From e907a72696e18abb104eb194a5f7c204d751d06c Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 03:34:36 -0500 Subject: [PATCH 04/29] broken box drawing --- CMakeLists.txt | 2 +- core/display/Window.cpp | 133 ++------------------- core/display/Window.h | 5 + core/display/painters/BoxPainter.cpp | 101 ++++++++++++++++ core/display/painters/BoxPainter.h | 31 +++++ core/display/painters/Painter.cpp | 58 +++++++++ core/display/painters/Painter.h | 23 ++++ core/display/painters/ParticlesPainter.cpp | 49 ++++++++ core/display/painters/ParticlesPainter.h | 29 +++++ core/display/shaders/flat.frag.h | 14 +++ core/display/shaders/flat.vert.h | 22 ++++ core/display/shaders/particle.frag.h | 5 +- core/display/shaders/particle.vert.h | 2 +- core/fileIO/SceneLoader.cpp | 26 +--- core/fileIO/SceneLoader.h | 6 +- core/scenes/default.h | 19 +++ core/solver/FluidSolver.cpp | 33 +++-- core/solver/FluidSolver.h | 70 +++++------ main.cpp | 11 +- 19 files changed, 442 insertions(+), 197 deletions(-) create mode 100644 core/display/painters/BoxPainter.cpp create mode 100644 core/display/painters/BoxPainter.h create mode 100644 core/display/painters/Painter.cpp create mode 100644 core/display/painters/Painter.h create mode 100644 core/display/painters/ParticlesPainter.cpp create mode 100644 core/display/painters/ParticlesPainter.h create mode 100644 core/display/shaders/flat.frag.h create mode 100644 core/display/shaders/flat.vert.h create mode 100644 core/scenes/default.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0225e101..8c9b0468 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index e5161e4f..4612f8e5 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -3,11 +3,9 @@ // #include "Window.h" +#include #include -#include "shaders/particle.frag.h" -#include "shaders/particle.vert.h" - static void error_callback(int error, const char* description) { fputs(description, stderr); } @@ -116,139 +114,24 @@ void Window::setupInputCBs() { }); } -GLuint compileShader(const char* shader, GLenum type) { - GLuint shaderId = glCreateShader(type); - glShaderSourceARB(shaderId, 1, &shader, NULL); - glCompileShader(shaderId); - - GLint success = 0; - glGetShaderiv(shaderId, GL_COMPILE_STATUS, &success); - if (success == GL_FALSE) { - fprintf(stderr, "Failed to compile shader!\n%s\n", shader); - - GLint maxLength = 0; - glGetShaderiv(shaderId, GL_INFO_LOG_LENGTH, &maxLength); - - std::vector errorLog(maxLength); - glGetShaderInfoLog(shaderId, maxLength, &maxLength, &errorLog[0]); - - fprintf(stderr, "%s\n", &errorLog[0]); - - glDeleteShader(shaderId); - } - - return shaderId; -} - -GLuint makeProgram(std::vector programs) { - GLuint prog = glCreateProgram(); - for (GLuint program : programs) { - glAttachShader(prog, program); - } - glLinkProgram(prog); - - for (GLuint program : programs) { - glDetachShader(prog, program); - glDeleteShader(program); - } - - GLint linked; - glGetProgramiv(prog, GL_LINK_STATUS, &linked); - if (!linked) { - std::cerr << "Failed to link program!" << std::endl; - - GLint length; - glGetProgramiv(prog, GL_INFO_LOG_LENGTH, &length); - if ( length > 0 ){ - std::vector ProgramErrorMessage(length+1); - glGetProgramInfoLog(prog, length, NULL, &ProgramErrorMessage[0]); - fprintf(stderr, "%s\n", &ProgramErrorMessage[0]); - } - } - return prog; -} - void Window::initloop() { GLuint vao; glGenVertexArrays(1, &vao); glBindVertexArray(vao); - GLuint particleVert = compileShader(particle_vert.c_str(), GL_VERTEX_SHADER); - GLuint particleFrag = compileShader(particle_frag.c_str(), GL_FRAGMENT_SHADER); - - std::vector programs = {particleVert, particleFrag}; - GLuint particleProg = makeProgram(programs); - - GLint attrPos = glGetAttribLocation(particleProg, "v_pos");; - GLint attrVel = glGetAttribLocation(particleProg, "v_vel"); - GLint attrCol = glGetAttribLocation(particleProg, "v_col"); - glClearColor(0.2f, 0.2f, 0.2f, 1.f); - int MaxParticles = 1000; - - GLuint particles_position_buffer; - glGenBuffers(1, &particles_position_buffer); - glBindBuffer(GL_ARRAY_BUFFER, particles_position_buffer); - //glBufferData(GL_ARRAY_BUFFER, MaxParticles * 4 * sizeof(GLfloat), NULL, GL_STREAM_DRAW); - glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); - - GLuint particles_color_buffer; - glGenBuffers(1, &particles_color_buffer); - glBindBuffer(GL_ARRAY_BUFFER, particles_color_buffer); - //glBufferData(GL_ARRAY_BUFFER, MaxParticles * 4 * sizeof(GLubyte), NULL, GL_STREAM_DRAW); - glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); - - GLuint particles_buffer; - glGenBuffers(1, &particles_buffer); - glBindBuffer(GL_ARRAY_BUFFER, particles_buffer); - //glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(Fluid::Particle), NULL, GL_STREAM_DRAW); - glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); - - - std::vector particles; - Fluid::Particle p1; - p1.pos = glm::vec3(0, 0, 0); - - Fluid::Particle p2; - p2.pos = glm::vec3(0, 0.8, 0); - - Fluid::Particle p3; - p3.pos = glm::vec3(0.8, 0.8, 0); - - particles.push_back(p1); - particles.push_back(p2); - particles.push_back(p3); - while (!glfwWindowShouldClose(_window)) { int width, height; glfwGetFramebufferSize(_window, &width, &height); glViewport(0, 0, width, height); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glBindBuffer(GL_ARRAY_BUFFER, particles_buffer); - glBufferData(GL_ARRAY_BUFFER, MaxParticles * sizeof(Fluid::Particle), NULL, GL_STREAM_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, MaxParticles * sizeof(Fluid::Particle), &particles[0]); - - glEnableVertexAttribArray(attrPos); - glVertexAttribPointer(attrPos, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, pos)); - - glEnableVertexAttribArray(attrVel); - glVertexAttribPointer(attrVel, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, vel)); - - glEnableVertexAttribArray(attrCol); - glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(Fluid::Particle), (void*)offsetof(Fluid::Particle, col)); - - glUseProgram(particleProg); glBindVertexArray(vao); - glPointSize(3); - - glDrawArrays(GL_POINTS, 0, (GLsizei) particles.size()); - - glDisableVertexAttribArray(attrPos); - glDisableVertexAttribArray(attrVel); - glDisableVertexAttribArray(attrCol); + for (Painter* painter : _painters) { + painter->draw(); + } glfwSwapBuffers(_window); glfwPollEvents(); @@ -262,3 +145,11 @@ void Window::initloop() { void Window::handleMouseInput(InputHandler::MouseState &mouseState) { } + +void Window::addPainter(Painter *painter) { + _painters.push_back(painter); +} + +void Window::removePainter(Painter *painter) { + _painters.erase(std::remove(_painters.begin(), _painters.end(), painter), _painters.end()); +} diff --git a/core/display/Window.h b/core/display/Window.h index 856227a5..f0fcd2e8 100644 --- a/core/display/Window.h +++ b/core/display/Window.h @@ -9,6 +9,7 @@ #include #include "InputHandler.h" #include +#include class Window { public: @@ -18,10 +19,14 @@ class Window { ~Window(); void initloop(); + void addPainter(Painter* painter); + void removePainter(Painter* painter); + private: GLFWwindow* _window; void setupInputCBs(); void handleMouseInput(InputHandler::MouseState &mouseState); + std::vector _painters; }; diff --git a/core/display/painters/BoxPainter.cpp b/core/display/painters/BoxPainter.cpp new file mode 100644 index 00000000..3c8c9969 --- /dev/null +++ b/core/display/painters/BoxPainter.cpp @@ -0,0 +1,101 @@ +// +// Created by austin on 2/29/16. +// + +#include "BoxPainter.h" +#include +#include + +struct vert { + glm::vec3 pos; + glm::vec3 col; +}; + +BoxPainter::BoxPainter(Box *box) : _box(box) { + GLuint vert = compileShader(flat_vert, GL_VERTEX_SHADER); + GLuint frag = compileShader(flat_frag, GL_FRAGMENT_SHADER); + + std::vector programs = {vert, frag}; + prog = makeProgram(programs); + + attrPos = glGetAttribLocation(prog, "v_pos"); + attrCol = glGetAttribLocation(prog, "v_col"); + + glGenBuffers(1, &vertex_buffer); + glGenBuffers(1, &index_buffer); + + create(); +} + +void BoxPainter::update() { + if (_box != nullptr) { + create(); + destroy(); + } +} + +void BoxPainter::draw() const { + if (_box != nullptr) { + glUseProgram(prog); + + glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer); + + glEnableVertexAttribArray(attrPos); + glVertexAttribPointer(attrPos, 3, GL_FLOAT, GL_FALSE, sizeof(vert), (void*)offsetof(vert, pos)); + + glEnableVertexAttribArray(attrCol); + glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(vert), (void*)offsetof(vert, col)); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glDrawElements(GL_LINES, 12, GL_UNSIGNED_INT, (void*)0); + + glDisableVertexAttribArray(attrPos); + glDisableVertexAttribArray(attrCol); + } +} + +void BoxPainter::create() { + if (_box != nullptr) { + vert verts[8]; + GLuint indices[24]; + + verts[0].pos = glm::vec3(_box->minX(), _box->minY(), _box->minZ()); + verts[1].pos = glm::vec3(_box->minX(), _box->maxY(), _box->minZ()); + verts[2].pos = glm::vec3(_box->minX(), _box->maxY(), _box->maxZ()); + verts[3].pos = glm::vec3(_box->minX(), _box->minY(), _box->maxZ()); + verts[4].pos = glm::vec3(_box->maxX(), _box->minY(), _box->minZ()); + verts[5].pos = glm::vec3(_box->maxX(), _box->maxY(), _box->minZ()); + verts[6].pos = glm::vec3(_box->maxX(), _box->maxY(), _box->maxZ()); + verts[7].pos = glm::vec3(_box->maxX(), _box->minY(), _box->maxZ()); + + indices[0] = 0; indices[1] = 1; + indices[2] = 1; indices[3] = 2; + indices[4] = 2; indices[5] = 3; + indices[6] = 3; indices[7] = 0; + + indices[8] = 3; indices[9] = 4; + indices[10] = 4; indices[11] = 5; + indices[12] = 5; indices[13] = 6; + indices[14] = 6; indices[15] = 3; + + indices[16] = 0; indices[17] = 4; + indices[18] = 1; indices[19] = 5; + indices[20] = 2; indices[21] = 6; + indices[22] = 3; indices[23] = 7; + + for (int i = 0; i < 8; ++i) { + verts[i].col = glm::vec3(1,1,1); + } + + glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer); + glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(glm::vec3), verts, GL_STATIC_DRAW); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, 24 * sizeof(GLuint), indices, GL_STATIC_DRAW); + } +} + +void BoxPainter::destroy() { + glDeleteBuffers(1, &vertex_buffer); + glDeleteBuffers(1, &index_buffer); +} diff --git a/core/display/painters/BoxPainter.h b/core/display/painters/BoxPainter.h new file mode 100644 index 00000000..01fa2c5d --- /dev/null +++ b/core/display/painters/BoxPainter.h @@ -0,0 +1,31 @@ +// +// Created by austin on 2/29/16. +// + +#ifndef FLUIDSOLVER_BOXPAINTER_H +#define FLUIDSOLVER_BOXPAINTER_H + +#include "Painter.h" +#include + +class BoxPainter : public Painter { +public: + BoxPainter(Box* box); + void update(); + void draw() const; + +private: + GLuint vertex_buffer; + GLuint index_buffer; + + GLint attrPos; + GLint attrCol; + + Box* _box; + + void create(); + void destroy(); +}; + + +#endif //FLUIDSOLVER_BOXPAINTER_H diff --git a/core/display/painters/Painter.cpp b/core/display/painters/Painter.cpp new file mode 100644 index 00000000..7e7adc99 --- /dev/null +++ b/core/display/painters/Painter.cpp @@ -0,0 +1,58 @@ +// +// Created by austin on 2/29/16. +// + +#include "Painter.h" +#include + +GLuint Painter::compileShader(const char* shader, GLenum type) { + GLuint shaderId = glCreateShader(type); + glShaderSourceARB(shaderId, 1, &shader, NULL); + glCompileShader(shaderId); + + GLint success = 0; + glGetShaderiv(shaderId, GL_COMPILE_STATUS, &success); + if (success == GL_FALSE) { + fprintf(stderr, "Failed to compile shader!\n%s\n", shader); + + GLint maxLength = 0; + glGetShaderiv(shaderId, GL_INFO_LOG_LENGTH, &maxLength); + + std::vector errorLog(maxLength); + glGetShaderInfoLog(shaderId, maxLength, &maxLength, &errorLog[0]); + + fprintf(stderr, "%s\n", &errorLog[0]); + + glDeleteShader(shaderId); + } + + return shaderId; +} + +GLuint Painter::makeProgram(std::vector programs) { + GLuint prog = glCreateProgram(); + for (GLuint program : programs) { + glAttachShader(prog, program); + } + glLinkProgram(prog); + + for (GLuint program : programs) { + glDetachShader(prog, program); + glDeleteShader(program); + } + + GLint linked; + glGetProgramiv(prog, GL_LINK_STATUS, &linked); + if (!linked) { + std::cerr << "Failed to link program!" << std::endl; + + GLint length; + glGetProgramiv(prog, GL_INFO_LOG_LENGTH, &length); + if ( length > 0 ){ + std::vector ProgramErrorMessage(length+1); + glGetProgramInfoLog(prog, length, NULL, &ProgramErrorMessage[0]); + fprintf(stderr, "%s\n", &ProgramErrorMessage[0]); + } + } + return prog; +} \ No newline at end of file diff --git a/core/display/painters/Painter.h b/core/display/painters/Painter.h new file mode 100644 index 00000000..ab6cf090 --- /dev/null +++ b/core/display/painters/Painter.h @@ -0,0 +1,23 @@ +// +// Created by austin on 2/29/16. +// + +#ifndef FLUIDSOLVER_PAINTER_H +#define FLUIDSOLVER_PAINTER_H + +#include +#include + +class Painter { +public: + virtual void draw() const = 0; + +protected: + GLuint prog; + + GLuint compileShader(const char* shader, GLenum type); + GLuint makeProgram(std::vector programs); +}; + + +#endif //FLUIDSOLVER_PAINTER_H diff --git a/core/display/painters/ParticlesPainter.cpp b/core/display/painters/ParticlesPainter.cpp new file mode 100644 index 00000000..1554bf42 --- /dev/null +++ b/core/display/painters/ParticlesPainter.cpp @@ -0,0 +1,49 @@ +// +// Created by austin on 2/29/16. +// + +#include "ParticlesPainter.h" +#include +#include + +ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particles) { + GLuint particleVert = compileShader(particle_vert, GL_VERTEX_SHADER); + GLuint particleFrag = compileShader(particle_frag, GL_FRAGMENT_SHADER); + + std::vector programs = {particleVert, particleFrag}; + prog = makeProgram(programs); + + attrPos = glGetAttribLocation(prog, "v_pos"); + attrVel = glGetAttribLocation(prog, "v_vel"); + attrCol = glGetAttribLocation(prog, "v_col"); + + glGenBuffers(1, &particle_buffer); + glBindBuffer(GL_ARRAY_BUFFER, particle_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); +} + +void ParticlesPainter::draw() const { + if (_particles != nullptr) { + glUseProgram(prog); + + glBindBuffer(GL_ARRAY_BUFFER, particle_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES * sizeof(FluidParticle), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, MAX_PARTICLES * sizeof(FluidParticle), &((*_particles)[0])); + + glEnableVertexAttribArray(attrPos); + glVertexAttribPointer(attrPos, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, pos)); + + glEnableVertexAttribArray(attrVel); + glVertexAttribPointer(attrVel, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, vel)); + + glEnableVertexAttribArray(attrCol); + glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, col)); + + glPointSize(_ptSize); + glDrawArrays(GL_POINTS, 0, (GLsizei) _particles->size()); + + glDisableVertexAttribArray(attrPos); + glDisableVertexAttribArray(attrVel); + glDisableVertexAttribArray(attrCol); + } +} \ No newline at end of file diff --git a/core/display/painters/ParticlesPainter.h b/core/display/painters/ParticlesPainter.h new file mode 100644 index 00000000..1d349088 --- /dev/null +++ b/core/display/painters/ParticlesPainter.h @@ -0,0 +1,29 @@ +// +// Created by austin on 2/29/16. +// + +#ifndef FLUIDSOLVER_PARTICLESPAINTER_H +#define FLUIDSOLVER_PARTICLESPAINTER_H + +#include "Painter.h" +#include + +class ParticlesPainter : public Painter { +public: + ParticlesPainter(FluidSolver* solver, float ptSize = 3.f); + virtual void draw() const; + +private: + unsigned int MAX_PARTICLES = 10000; + GLuint particle_buffer; + + GLint attrPos; + GLint attrVel; + GLint attrCol; + + GLfloat _ptSize; + std::vector* _particles; +}; + + +#endif //FLUIDSOLVER_PARTICLESPAINTER_H diff --git a/core/display/shaders/flat.frag.h b/core/display/shaders/flat.frag.h new file mode 100644 index 00000000..6e0ac8b7 --- /dev/null +++ b/core/display/shaders/flat.frag.h @@ -0,0 +1,14 @@ +// +// Created by austin on 2/29/16. +// + +const char* flat_frag = R"( +#version 150 + +in vec3 f_col; +out vec4 out_Col; + +void main() { + out_Col = vec4(f_col.rgb, 1); +} +)"; diff --git a/core/display/shaders/flat.vert.h b/core/display/shaders/flat.vert.h new file mode 100644 index 00000000..d995c51d --- /dev/null +++ b/core/display/shaders/flat.vert.h @@ -0,0 +1,22 @@ +// +// Created by austin on 2/29/16. +// + +#ifndef FLUIDSOLVER_FLAT_VERT_H_H +#define FLUIDSOLVER_FLAT_VERT_H_H + +const char* flat_vert = R"( +#version 150 + +in vec3 v_pos; +in vec3 v_col; + +out vec3 f_col; + +void main() { + f_col = v_col; + gl_Position = vec4(v_pos, 1); +} +)"; + +#endif //FLUIDSOLVER_FLAT_VERT_H_H \ No newline at end of file diff --git a/core/display/shaders/particle.frag.h b/core/display/shaders/particle.frag.h index 23014806..fad22c76 100644 --- a/core/display/shaders/particle.frag.h +++ b/core/display/shaders/particle.frag.h @@ -2,7 +2,7 @@ // Created by austin on 2/28/16. // -std::string particle_frag = R"( +const char* particle_frag = R"( #version 150 in vec3 f_col; @@ -10,8 +10,5 @@ out vec4 out_Col; void main() { out_Col = vec4(f_col.rgb, 1); - if (f_col.b == 0) { - //out_Col = vec4(1,1,1,1); - } } )"; \ No newline at end of file diff --git a/core/display/shaders/particle.vert.h b/core/display/shaders/particle.vert.h index b9df04df..3f677f5b 100644 --- a/core/display/shaders/particle.vert.h +++ b/core/display/shaders/particle.vert.h @@ -2,7 +2,7 @@ // Created by austin on 2/28/16. // -std::string particle_vert = R"( +const char* particle_vert = R"( #version 150 in vec3 v_pos; diff --git a/core/fileIO/SceneLoader.cpp b/core/fileIO/SceneLoader.cpp index 6945dc77..ad17de4f 100644 --- a/core/fileIO/SceneLoader.cpp +++ b/core/fileIO/SceneLoader.cpp @@ -5,23 +5,9 @@ #include #include #include "SceneLoader.h" +#include -const char* SceneLoader::defaultScene = - "{\n" - "\t\"containerDim\" : {\n" - "\t\t\"scaleX\" : 5.0,\n" - "\t\t\"scaleY\" : 5.0,\n" - "\t\t\"scaleZ\" : 5.0\n" - "\t},\n" - "\t\"particleDim\" : {\n" - "\t\t\"boundX\" : 3.7,\n" - "\t\t\"boundY\" : 3.7,\n" - "\t\t\"boundZ\" : 3.7\n" - "\t},\n" - "\t\"particleSeparation\" : 0.1\n" - "}"; - -Fluid::Solver* SceneLoader::LoadScene(const char *filepath) { +FluidSolver* SceneLoader::LoadScene(const char *filepath) { Json::Reader reader; std::ifstream fileStream(filepath, std::ifstream::binary); @@ -33,13 +19,13 @@ Fluid::Solver* SceneLoader::LoadScene(const char *filepath) { exit(EXIT_FAILURE); } } else { - return LoadScene(std::string(defaultScene)); + return LoadScene(std::string(default_scene)); } return parseJson(root); } -Fluid::Solver* SceneLoader::LoadScene(const std::string &jsonstring) { +FluidSolver* SceneLoader::LoadScene(const std::string &jsonstring) { Json::Reader reader; Json::Value root; @@ -51,7 +37,7 @@ Fluid::Solver* SceneLoader::LoadScene(const std::string &jsonstring) { return parseJson(root); } -Fluid::Solver* SceneLoader::parseJson(const Json::Value &root) { +FluidSolver* SceneLoader::parseJson(const Json::Value &root) { Json::Value containerDim = root["containerDim"]; Json::Value particleDim = root["particleDim"]; Json::Value particleSeparation = root["particleSeparation"]; @@ -70,7 +56,7 @@ Fluid::Solver* SceneLoader::parseJson(const Json::Value &root) { Box* container = new Box(origin, containerX, containerY, containerZ); Box* fluidObject = new Box(origin, particleX, particleY, particleZ); - Fluid::Solver* solver = new Fluid::Solver(particleSep); + FluidSolver* solver = new FluidSolver(particleSep); solver->setContainer(container); solver->addFluid(fluidObject); return solver; diff --git a/core/fileIO/SceneLoader.h b/core/fileIO/SceneLoader.h index e8139e8a..47c60612 100644 --- a/core/fileIO/SceneLoader.h +++ b/core/fileIO/SceneLoader.h @@ -10,13 +10,13 @@ class SceneLoader { public: - static Fluid::Solver* LoadScene(const char* filepath); - static Fluid::Solver* LoadScene(const std::string &jsonstring); + static FluidSolver* LoadScene(const char* filepath); + static FluidSolver* LoadScene(const std::string &jsonstring); static const char * defaultScene; private: - static Fluid::Solver* parseJson(const Json::Value &root); + static FluidSolver* parseJson(const Json::Value &root); }; diff --git a/core/scenes/default.h b/core/scenes/default.h new file mode 100644 index 00000000..ad9a056c --- /dev/null +++ b/core/scenes/default.h @@ -0,0 +1,19 @@ +// +// Created by austin on 2/29/16. +// + +const char* default_scene = R"( +{ + "containerDim" : { + "scaleX" : 0.5, + "scaleY" : 0.5, + "scaleZ" : 0.5 + }, + "particleDim" : { + "boundX" : 3.7, + "boundY" : 3.7, + "boundZ" : 3.7 + }, + "particleSeparation" : 0.1 +}; +)"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 02a45059..1cd7c120 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -4,28 +4,39 @@ #include "FluidSolver.h" -float Fluid::Solver::g = -9.80665f; +float FluidSolver::g = -9.80665f; -Fluid::Solver::Solver(float particleSep) : particle_radius(particleSep) { +FluidSolver::FluidSolver(float particleSep) : particle_radius(particleSep) { + FluidParticle p1; + p1.pos = glm::vec3(-0.2, -0.2, 0); + FluidParticle p2; + p2.pos = glm::vec3(0, 0.8, 0); + + FluidParticle p3; + p3.pos = glm::vec3(0.8, 0.8, 0); + + _particles.push_back(p1); + _particles.push_back(p2); + _particles.push_back(p3); } -Fluid::Solver::~Solver() { +FluidSolver::~FluidSolver() { delete _container; } -void Fluid::Solver::setContainer(GeoObject *container) { +void FluidSolver::setContainer(GeoObject *container) { _container = container; } -void Fluid::Solver::addFluid(GeoObject *fluid) { +void FluidSolver::addFluid(GeoObject *fluid) { Bound& b = fluid->bound(); for (float x = b.minX(); x < b.maxX(); x += particle_radius) { for (float y = b.minY(); y < b.maxY(); y += particle_radius) { for (float z = b.minZ(); z < b.maxZ(); z += particle_radius) { glm::vec3 pos = glm::vec3(x, y, z); if (fluid->contains(pos)) { - Particle p; + FluidParticle p; p.pos = pos; _particles.push_back(p); } @@ -34,23 +45,23 @@ void Fluid::Solver::addFluid(GeoObject *fluid) { } } -void Fluid::Solver::update(float step) { +void FluidSolver::update(float step) { presolve(step); solve(step); postsolve(step); } -void Fluid::Solver::presolve(float step) { +void FluidSolver::presolve(float step) { } -void Fluid::Solver::solve(float step) { - for (Particle &p : _particles) { +void FluidSolver::solve(float step) { + for (FluidParticle &p : _particles) { p.vel += g * step; p.pos += p.vel * step; } } -void Fluid::Solver::postsolve(float step) { +void FluidSolver::postsolve(float step) { } diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 23dc2a20..fcf1b8ea 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -9,41 +9,41 @@ #include #include -namespace Fluid { - struct Particle { - glm::vec3 pos; - glm::vec3 vel; - glm::vec3 col; - - Particle() { - pos = glm::vec3(0); - vel = glm::vec3(0); - col = glm::vec3(0.5f, 0.5f, 1.f); - } - }; - - class Solver { - public: - Solver(float particleSep); - ~Solver(); - - void setContainer(GeoObject* container); - void addFluid(GeoObject* fluid); - - void update(float step = 0.04166f); - - private: - GeoObject* _container; - std::vector _particles; - float particle_radius; - - void presolve(float step); - void solve(float step); - void postsolve(float step); - - static float g; - }; -} +struct FluidParticle { + glm::vec3 pos; + glm::vec3 vel; + glm::vec3 col; + + FluidParticle() { + pos = glm::vec3(0); + vel = glm::vec3(0); + col = glm::vec3(0.5f, 0.5f, 1.f); + } +}; + +class FluidSolver { + friend class ParticlesPainter; +public: + FluidSolver(float particleSep); + ~FluidSolver(); + + void setContainer(GeoObject* container); + void addFluid(GeoObject* fluid); + + void update(float step = 0.04166f); + + GeoObject* _container; + +private: + std::vector _particles; + float particle_radius; + + void presolve(float step); + void solve(float step); + void postsolve(float step); + + static float g; +}; #endif //FLUIDSOLVER_FLUIDSOLVER_H diff --git a/main.cpp b/main.cpp index 860ceeb8..26d9359f 100644 --- a/main.cpp +++ b/main.cpp @@ -1,9 +1,18 @@ #include #include +#include +#include int main(int argc, char* argv[]) { Window* window = new Window("Fluid Solver"); - SceneLoader::LoadScene(argv[1]); + + FluidSolver* solver = SceneLoader::LoadScene(argv[1]); + + ParticlesPainter particlesPainter(solver); + BoxPainter boxPainter((Box *) solver->_container); + + window->addPainter(&particlesPainter); + window->addPainter(&boxPainter); window->initloop(); delete window; From b0eb0e1ade3026020bb15517b4820c08e40e9b66 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 06:35:30 -0500 Subject: [PATCH 05/29] camera and collision drawing --- CMakeLists.txt | 2 +- core/camera/Camera.cpp | 48 +++++++++++ core/camera/Camera.h | 35 ++++++++ core/display/InputHandler.cpp | 22 ++++- core/display/InputHandler.h | 11 ++- core/display/Window.cpp | 99 +++++++++++++++++++--- core/display/Window.h | 8 +- core/display/painters/BoxPainter.cpp | 31 +++++-- core/display/painters/BoxPainter.h | 2 + core/display/painters/Painter.cpp | 6 +- core/display/painters/Painter.h | 1 + core/display/painters/ParticlesPainter.cpp | 12 ++- core/display/painters/ParticlesPainter.h | 2 + core/display/shaders/flat.vert.h | 4 +- core/display/shaders/particle.vert.h | 4 +- core/scenes/default.h | 6 +- core/solver/FluidSolver.cpp | 28 +++--- core/solver/FluidSolver.h | 1 + core/util/math.h | 2 + main.cpp | 12 ++- 20 files changed, 282 insertions(+), 54 deletions(-) create mode 100644 core/camera/Camera.cpp create mode 100644 core/camera/Camera.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c9b0468..16c5f3ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp new file mode 100644 index 00000000..ee864cad --- /dev/null +++ b/core/camera/Camera.cpp @@ -0,0 +1,48 @@ +// +// Created by austin on 2/29/16. +// + +#include "Camera.h" + +Camera::Camera(int w, int h) : + zoom(10), + eye(glm::vec3(0,0,zoom)), + tgt(glm::vec3(0,0,0)), + width(w), + height(h), + fovy(45), + near_clip(0.001f), + far_clip(1000.f), + world_up(glm::vec3(0,1,0)), + look(tgt - eye), + right(glm::cross(look, world_up)), + up(glm::cross(right, look)), + rotation(glm::mat4(1.f)) { + recompute(); +} + +glm::mat4 Camera::viewProj() { + return _viewProj; +} + +void Camera::recompute() { + float aspect = (float)width/height; + look = glm::normalize(tgt - eye); + right = glm::cross(look, world_up); + up = glm::cross(right, look); + + _viewProj = glm::perspective(fovy, aspect, near_clip, far_clip) * glm::lookAt(eye, tgt, up); +} + +void Camera::resize(int w, int h) { + width = w; + height = h; + recompute(); +} + +void Camera::recomputeEye() { + eye = glm::vec3(rotation * glm::vec4(0,0,zoom,0)) + tgt; + look = glm::normalize(tgt - eye); + right = glm::normalize(glm::cross(look, up)); + up = glm::normalize(glm::cross(right, look)); +} diff --git a/core/camera/Camera.h b/core/camera/Camera.h new file mode 100644 index 00000000..62be261a --- /dev/null +++ b/core/camera/Camera.h @@ -0,0 +1,35 @@ +// +// Created by austin on 2/29/16. +// + +#ifndef FLUIDSOLVER_CAMERA_H +#define FLUIDSOLVER_CAMERA_H + +#include + +class Camera { +private: + glm::vec3 world_up; +public: + float zoom; + glm::vec3 eye; + glm::vec3 tgt; + + Camera(int w, int h); + glm::mat4 viewProj(); + void recomputeEye(); + void recompute(); + void resize(int w, int h); + + glm::vec3 look, up, right; + int width, height; + float fovy, near_clip, far_clip; + glm::mat4 rotation; + +private: + + glm::mat4 _viewProj; +}; + + +#endif //FLUIDSOLVER_CAMERA_H diff --git a/core/display/InputHandler.cpp b/core/display/InputHandler.cpp index e524f65b..799eb5f5 100644 --- a/core/display/InputHandler.cpp +++ b/core/display/InputHandler.cpp @@ -140,6 +140,7 @@ void InputHandler::delWheel(double val, bool events) { if (events) { emit(_mouseState); } + _mouseState.delWheel = 0; } void InputHandler::leftDown(bool val, bool events) { @@ -188,15 +189,28 @@ void InputHandler::key(int key, bool down, bool events) { void InputHandler::emit(MouseState &event) { for (int i = 0; i < mouseSubscribers.size(); i++) { - //mouseSubscribers.at(i)->operator()(event); mouseSubscribers.at(i)(event); } } -void InputHandler::registerMouseListener(void(*listener)(MouseState &mouseState)) { +void InputHandler::registerMouseListener(InputHandler::MouseListener listener) { mouseSubscribers.push_back(listener); } -void InputHandler::deregisterMouseListener(MouseListener listener) { - mouseSubscribers.erase(std::remove(mouseSubscribers.begin(), mouseSubscribers.end(), listener), mouseSubscribers.end()); +//void InputHandler::deregisterMouseListener(MouseListener listener) { +// mouseSubscribers.erase(std::remove(mouseSubscribers.begin(), mouseSubscribers.end(), listener), mouseSubscribers.end()); +//} + +void InputHandler::windowResized(int w, int h) { + for (int i = 0; i < windowSubscribers.size(); i++) { + windowSubscribers.at(i)(w, h); + } } + +void InputHandler::registerWindowListener(InputHandler::WindowListener listener) { + windowSubscribers.push_back(listener); +} + +//void InputHandler::deregisterWindowListener(InputHandler::WindowListener listener) { +// windowSubscribers.erase(std::remove(windowSubscribers.begin(), windowSubscribers.end(), listener), windowSubscribers.end()); +//} diff --git a/core/display/InputHandler.h b/core/display/InputHandler.h index bbb540a4..8ab69b35 100644 --- a/core/display/InputHandler.h +++ b/core/display/InputHandler.h @@ -64,9 +64,15 @@ class InputHandler { bool rightDragFinish; }; - typedef void(*MouseListener)(MouseState&); + //typedef void(*MouseListener)(MouseState&); + //typedef void (*WindowListener)(int w, int h); + typedef std::function WindowListener; + typedef std::function MouseListener; void registerMouseListener(MouseListener listener); - void deregisterMouseListener(MouseListener listener); + //void deregisterMouseListener(MouseListener listener); + void registerWindowListener(WindowListener listener); + //void deregisterWindowListener(WindowListener listener); + void windowResized(int w, int h); private: InputHandler(); @@ -80,6 +86,7 @@ class InputHandler { void mouseMoved(); std::vector mouseSubscribers; + std::vector windowSubscribers; void emit(MouseState &event); }; diff --git a/core/display/Window.cpp b/core/display/Window.cpp index 4612f8e5..22b4b5a7 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -14,16 +14,14 @@ InputHandler &inputHandler = InputHandler::getInputHandler(); Window::Window(const char *title) : Window(640, 480, title) { } Window::Window(int w, int h) : Window(w, h, "GL Window"){ } -Window::Window(int w, int h, const char* title) : _window(nullptr) { +Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h), _w(w), _h(h) { glfwSetErrorCallback(error_callback); if (!glfwInit()) exit(EXIT_FAILURE); - glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3 + glfwWindowHint(GLFW_SAMPLES, 4); + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); - glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; should not be needed - glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL _window = glfwCreateWindow(w, h, title, NULL, NULL); @@ -36,7 +34,7 @@ Window::Window(int w, int h, const char* title) : _window(nullptr) { glfwSwapInterval(1); setupInputCBs(); - glewExperimental= GL_TRUE; // Needed in core profile + glewExperimental= GL_TRUE; if (glewInit() != GLEW_OK) { fprintf(stderr, "Failed to initialize GLEW\n"); exit(EXIT_FAILURE); @@ -49,8 +47,16 @@ Window::~Window() { void Window::setupInputCBs() { - glfwSetKeyCallback(_window, [&](GLFWwindow *window, int key, int scancode, int action, int mods) { - std::cout << key << std::endl; + glfwSetKeyCallback(_window, [](GLFWwindow *window, int key, int scancode, int action, int mods) { + switch(action) { + case GLFW_PRESS: + inputHandler.key(key, true); + break; + case GLFW_RELEASE: + inputHandler.key(key, false); + break; + default: break; + } if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) glfwSetWindowShouldClose(window, GL_TRUE); @@ -109,22 +115,82 @@ void Window::setupInputCBs() { inputHandler.delWheel(yoffset); }); - inputHandler.registerMouseListener([](InputHandler::MouseState &mouseState) { + glfwSetWindowSizeCallback(_window, [](GLFWwindow *window, int width, int height) { + inputHandler.windowResized(width, height); + }); + + inputHandler.registerMouseListener([&](InputHandler::MouseState &mouseState) { + if (!fequal(mouseState.delWheel, 0.0)) { + glm::vec3 vec = camera.tgt - camera.eye; + float fac = glm::min(glm::abs(glm::length(vec)/5.f), 1.f); + //camera.eye += (float)mouseState.delWheel * fac * glm::normalize(vec); + camera.zoom -= (float)mouseState.delWheel * fac; + camera.recomputeEye(); + updateCamera(); + } + if (mouseState.wheelDragging) { + if (inputHandler.key(340)) { + float x = (float) (_w/2 - mouseState.delX); + float y = (float) (_h/2 - mouseState.delY); + + float sx = (2*x / _w) - 1.f; + float sy = 1.f - (2*y / _h); + + float alpha = camera.fovy / 2; + float len = glm::length(camera.tgt - camera.eye); + glm::vec3 V = camera.up*(float)(len*tan(alpha)); + glm::vec3 H = camera.right*(float)(len*(_w / _h)*tan(alpha)); + + camera.tgt = camera.tgt + sx*H + sy*V; + camera.recomputeEye(); + updateCamera(); + return; + } + glm::vec4 y = glm::vec4(0,1,0,0); + glm::vec4 diff(mouseState.delX / _w, mouseState.delY / _h, 0, 0); + float a = (float) acos(glm::dot(y, diff) / (glm::length(y) * (glm::length(diff)))); + glm::vec4 para; + if (diff[0] > 0) { + para = glm::mat4_cast(glm::angleAxis(-a, glm::vec3(camera.look[0], camera.look[1], camera.look[2]))) * glm::vec4(camera.up, 1); + } else { + para = glm::mat4_cast(glm::angleAxis(a, glm::vec3(camera.look[0], camera.look[1], camera.look[2]))) * glm::vec4(camera.up, 1); + } + glm::vec3 perp = glm::normalize(glm::cross(camera.look, glm::vec3(para))); + + glm::mat4 rot = glm::mat4_cast(glm::angleAxis(-2*PI*glm::length(diff), perp)); + camera.rotation = rot * camera.rotation; + camera.up = glm::vec3(rot * glm::vec4(camera.up, 0)); + camera.right = glm::vec3(rot * glm::vec4(camera.right, 0)); + camera.look = glm::vec3(rot * glm::vec4(camera.look, 0)); + camera.recomputeEye(); + updateCamera(); + } + }); + + inputHandler.registerWindowListener([&](int w, int h){ + _w = w; + _h = h; + glViewport(0, 0, w, h); + camera.resize(w, h); + updateCamera(); }); } -void Window::initloop() { +void Window::initloop(std::function predraw) { GLuint vao; glGenVertexArrays(1, &vao); glBindVertexArray(vao); + for (Painter* painter : _painters) { + painter->setViewProj(glm::value_ptr(camera.viewProj())); + } + glClearColor(0.2f, 0.2f, 0.2f, 1.f); + glEnable(GL_DEPTH_TEST); while (!glfwWindowShouldClose(_window)) { - int width, height; - glfwGetFramebufferSize(_window, &width, &height); - glViewport(0, 0, width, height); + predraw(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBindVertexArray(vao); @@ -153,3 +219,10 @@ void Window::addPainter(Painter *painter) { void Window::removePainter(Painter *painter) { _painters.erase(std::remove(_painters.begin(), _painters.end(), painter), _painters.end()); } + +void Window::updateCamera() { + camera.recompute(); + for (Painter* painter : _painters) { + painter->setViewProj(glm::value_ptr(camera.viewProj())); + } +} diff --git a/core/display/Window.h b/core/display/Window.h index f0fcd2e8..aa79ccca 100644 --- a/core/display/Window.h +++ b/core/display/Window.h @@ -10,6 +10,7 @@ #include "InputHandler.h" #include #include +#include class Window { public: @@ -17,7 +18,7 @@ class Window { Window(int w = 640, int h = 480); Window(int w, int h, const char* title); ~Window(); - void initloop(); + void initloop(std::function predraw = [](){}); void addPainter(Painter* painter); void removePainter(Painter* painter); @@ -27,6 +28,11 @@ class Window { void setupInputCBs(); void handleMouseInput(InputHandler::MouseState &mouseState); std::vector _painters; + Camera camera; + void updateCamera(); + + int _w; + int _h; }; diff --git a/core/display/painters/BoxPainter.cpp b/core/display/painters/BoxPainter.cpp index 3c8c9969..922141c1 100644 --- a/core/display/painters/BoxPainter.cpp +++ b/core/display/painters/BoxPainter.cpp @@ -18,6 +18,7 @@ BoxPainter::BoxPainter(Box *box) : _box(box) { std::vector programs = {vert, frag}; prog = makeProgram(programs); + unifViewProj = glGetUniformLocation(prog, "u_viewProj"); attrPos = glGetAttribLocation(prog, "v_pos"); attrCol = glGetAttribLocation(prog, "v_col"); @@ -58,15 +59,22 @@ void BoxPainter::create() { if (_box != nullptr) { vert verts[8]; GLuint indices[24]; - - verts[0].pos = glm::vec3(_box->minX(), _box->minY(), _box->minZ()); - verts[1].pos = glm::vec3(_box->minX(), _box->maxY(), _box->minZ()); - verts[2].pos = glm::vec3(_box->minX(), _box->maxY(), _box->maxZ()); - verts[3].pos = glm::vec3(_box->minX(), _box->minY(), _box->maxZ()); - verts[4].pos = glm::vec3(_box->maxX(), _box->minY(), _box->minZ()); - verts[5].pos = glm::vec3(_box->maxX(), _box->maxY(), _box->minZ()); - verts[6].pos = glm::vec3(_box->maxX(), _box->maxY(), _box->maxZ()); - verts[7].pos = glm::vec3(_box->maxX(), _box->minY(), _box->maxZ()); + + float minX = _box->minX(); + float maxX = _box->maxX(); + float minY = _box->minY(); + float maxY = _box->maxY(); + float minZ = _box->minZ(); + float maxZ = _box->maxZ(); + + verts[0].pos = glm::vec3(minX, minY, minZ); + verts[1].pos = glm::vec3(minX, maxY, minZ); + verts[2].pos = glm::vec3(minX, maxY, maxZ); + verts[3].pos = glm::vec3(minX, minY, maxZ); + verts[4].pos = glm::vec3(maxX, minY, minZ); + verts[5].pos = glm::vec3(maxX, maxY, minZ); + verts[6].pos = glm::vec3(maxX, maxY, maxZ); + verts[7].pos = glm::vec3(maxX, minY, maxZ); indices[0] = 0; indices[1] = 1; indices[2] = 1; indices[3] = 2; @@ -99,3 +107,8 @@ void BoxPainter::destroy() { glDeleteBuffers(1, &vertex_buffer); glDeleteBuffers(1, &index_buffer); } + +void BoxPainter::setViewProj(const float *viewProj) { + glUseProgram(prog); + glUniformMatrix4fv(unifViewProj, 1, GL_FALSE, viewProj); +} diff --git a/core/display/painters/BoxPainter.h b/core/display/painters/BoxPainter.h index 01fa2c5d..a162eeb1 100644 --- a/core/display/painters/BoxPainter.h +++ b/core/display/painters/BoxPainter.h @@ -13,11 +13,13 @@ class BoxPainter : public Painter { BoxPainter(Box* box); void update(); void draw() const; + virtual void setViewProj(const float* viewProj); private: GLuint vertex_buffer; GLuint index_buffer; + GLint unifViewProj; GLint attrPos; GLint attrCol; diff --git a/core/display/painters/Painter.cpp b/core/display/painters/Painter.cpp index 7e7adc99..c84a3a8c 100644 --- a/core/display/painters/Painter.cpp +++ b/core/display/painters/Painter.cpp @@ -55,4 +55,8 @@ GLuint Painter::makeProgram(std::vector programs) { } } return prog; -} \ No newline at end of file +} + +void Painter::setViewProj(const float *viewProj) { + +} diff --git a/core/display/painters/Painter.h b/core/display/painters/Painter.h index ab6cf090..a04b0c0f 100644 --- a/core/display/painters/Painter.h +++ b/core/display/painters/Painter.h @@ -11,6 +11,7 @@ class Painter { public: virtual void draw() const = 0; + virtual void setViewProj(const float* viewProj); protected: GLuint prog; diff --git a/core/display/painters/ParticlesPainter.cpp b/core/display/painters/ParticlesPainter.cpp index 1554bf42..ad1fc48d 100644 --- a/core/display/painters/ParticlesPainter.cpp +++ b/core/display/painters/ParticlesPainter.cpp @@ -6,13 +6,16 @@ #include #include -ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particles) { +ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particlesOld) { + MAX_PARTICLES = _particles->size(); + GLuint particleVert = compileShader(particle_vert, GL_VERTEX_SHADER); GLuint particleFrag = compileShader(particle_frag, GL_FRAGMENT_SHADER); std::vector programs = {particleVert, particleFrag}; prog = makeProgram(programs); + unifViewProj = glGetUniformLocation(prog, "u_viewProj"); attrPos = glGetAttribLocation(prog, "v_pos"); attrVel = glGetAttribLocation(prog, "v_vel"); attrCol = glGetAttribLocation(prog, "v_col"); @@ -46,4 +49,9 @@ void ParticlesPainter::draw() const { glDisableVertexAttribArray(attrVel); glDisableVertexAttribArray(attrCol); } -} \ No newline at end of file +} + +void ParticlesPainter::setViewProj(const float *viewProj) { + glUseProgram(prog); + glUniformMatrix4fv(unifViewProj, 1, GL_FALSE, viewProj); +} diff --git a/core/display/painters/ParticlesPainter.h b/core/display/painters/ParticlesPainter.h index 1d349088..2b1cd41b 100644 --- a/core/display/painters/ParticlesPainter.h +++ b/core/display/painters/ParticlesPainter.h @@ -12,11 +12,13 @@ class ParticlesPainter : public Painter { public: ParticlesPainter(FluidSolver* solver, float ptSize = 3.f); virtual void draw() const; + virtual void setViewProj(const float* viewProj); private: unsigned int MAX_PARTICLES = 10000; GLuint particle_buffer; + GLint unifViewProj; GLint attrPos; GLint attrVel; GLint attrCol; diff --git a/core/display/shaders/flat.vert.h b/core/display/shaders/flat.vert.h index d995c51d..cfb8ade4 100644 --- a/core/display/shaders/flat.vert.h +++ b/core/display/shaders/flat.vert.h @@ -8,6 +8,8 @@ const char* flat_vert = R"( #version 150 +uniform mat4 u_viewProj; + in vec3 v_pos; in vec3 v_col; @@ -15,7 +17,7 @@ out vec3 f_col; void main() { f_col = v_col; - gl_Position = vec4(v_pos, 1); + gl_Position = u_viewProj * vec4(v_pos, 1); } )"; diff --git a/core/display/shaders/particle.vert.h b/core/display/shaders/particle.vert.h index 3f677f5b..ad77d862 100644 --- a/core/display/shaders/particle.vert.h +++ b/core/display/shaders/particle.vert.h @@ -5,6 +5,8 @@ const char* particle_vert = R"( #version 150 +uniform mat4 u_viewProj; + in vec3 v_pos; in vec3 v_vel; in vec3 v_col; @@ -13,6 +15,6 @@ out vec3 f_col; void main() { f_col = v_col; - gl_Position = vec4(v_pos, 1); + gl_Position = u_viewProj * vec4(v_pos, 1); } )"; \ No newline at end of file diff --git a/core/scenes/default.h b/core/scenes/default.h index ad9a056c..1d75b425 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -5,9 +5,9 @@ const char* default_scene = R"( { "containerDim" : { - "scaleX" : 0.5, - "scaleY" : 0.5, - "scaleZ" : 0.5 + "scaleX" : 5.0, + "scaleY" : 5.0, + "scaleZ" : 5.0 }, "particleDim" : { "boundX" : 3.7, diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 1cd7c120..a69ac23f 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -7,18 +7,6 @@ float FluidSolver::g = -9.80665f; FluidSolver::FluidSolver(float particleSep) : particle_radius(particleSep) { - FluidParticle p1; - p1.pos = glm::vec3(-0.2, -0.2, 0); - - FluidParticle p2; - p2.pos = glm::vec3(0, 0.8, 0); - - FluidParticle p3; - p3.pos = glm::vec3(0.8, 0.8, 0); - - _particles.push_back(p1); - _particles.push_back(p2); - _particles.push_back(p3); } FluidSolver::~FluidSolver() { @@ -39,6 +27,7 @@ void FluidSolver::addFluid(GeoObject *fluid) { FluidParticle p; p.pos = pos; _particles.push_back(p); + _particlesOld.push_back(p); } } } @@ -56,10 +45,19 @@ void FluidSolver::presolve(float step) { } void FluidSolver::solve(float step) { - for (FluidParticle &p : _particles) { - p.vel += g * step; - p.pos += p.vel * step; +// for (FluidParticle &p : _particles) { +// p.vel.y += g * step; +// p.pos += p.vel * step; +// } + for (unsigned int i = 0; i < _particles.size(); i++) { + _particles[i].vel.y = _particlesOld[i].vel.y + g * step; + _particles[i].pos += _particlesOld[i].vel * step; + if (_container->collides(_particlesOld[i].pos, _particles[i].pos)) { + _particles[i].col = glm::vec3(1,0,0); + _particlesOld[i].col = glm::vec3(1,0,0); + } } + swap(_particles, _particlesOld); } void FluidSolver::postsolve(float step) { diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index fcf1b8ea..df051634 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -36,6 +36,7 @@ class FluidSolver { private: std::vector _particles; + std::vector _particlesOld; float particle_radius; void presolve(float step); diff --git a/core/util/math.h b/core/util/math.h index 1937e181..adaca2a3 100644 --- a/core/util/math.h +++ b/core/util/math.h @@ -8,6 +8,8 @@ #define GLM_FORCE_RADIANS #include +#include +#include static const float PI = 3.14159265358979323846f; static const float TWO_PI = 2 * PI; diff --git a/main.cpp b/main.cpp index 26d9359f..25206afe 100644 --- a/main.cpp +++ b/main.cpp @@ -14,7 +14,17 @@ int main(int argc, char* argv[]) { window->addPainter(&particlesPainter); window->addPainter(&boxPainter); - window->initloop(); + int framerate = 24; + + double start = glfwGetTime(); + window->initloop([&]() { + double now = glfwGetTime(); + float duration = (float) (now - start); + if (duration >= 1.f / framerate) { + start = now; + solver->update(duration); + } + }); delete window; return 0; From 844f63a63752b4967f92e613fc9fc30ee39d140d Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 06:40:45 -0500 Subject: [PATCH 06/29] fixed box draw --- core/display/Window.cpp | 1 - core/display/painters/BoxPainter.cpp | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index 22b4b5a7..3dae6f42 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -123,7 +123,6 @@ void Window::setupInputCBs() { if (!fequal(mouseState.delWheel, 0.0)) { glm::vec3 vec = camera.tgt - camera.eye; float fac = glm::min(glm::abs(glm::length(vec)/5.f), 1.f); - //camera.eye += (float)mouseState.delWheel * fac * glm::normalize(vec); camera.zoom -= (float)mouseState.delWheel * fac; camera.recomputeEye(); updateCamera(); diff --git a/core/display/painters/BoxPainter.cpp b/core/display/painters/BoxPainter.cpp index 922141c1..daf93e00 100644 --- a/core/display/painters/BoxPainter.cpp +++ b/core/display/painters/BoxPainter.cpp @@ -48,7 +48,7 @@ void BoxPainter::draw() const { glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(vert), (void*)offsetof(vert, col)); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); - glDrawElements(GL_LINES, 12, GL_UNSIGNED_INT, (void*)0); + glDrawElements(GL_LINES, 24, GL_UNSIGNED_INT, (void*)0); glDisableVertexAttribArray(attrPos); glDisableVertexAttribArray(attrCol); @@ -81,10 +81,10 @@ void BoxPainter::create() { indices[4] = 2; indices[5] = 3; indices[6] = 3; indices[7] = 0; - indices[8] = 3; indices[9] = 4; - indices[10] = 4; indices[11] = 5; - indices[12] = 5; indices[13] = 6; - indices[14] = 6; indices[15] = 3; + indices[8] = 4; indices[9] = 5; + indices[10] = 5; indices[11] = 6; + indices[12] = 6; indices[13] = 7; + indices[14] = 7; indices[15] = 4; indices[16] = 0; indices[17] = 4; indices[18] = 1; indices[19] = 5; @@ -96,7 +96,7 @@ void BoxPainter::create() { } glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer); - glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(glm::vec3), verts, GL_STATIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(vert), verts, GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); glBufferData(GL_ELEMENT_ARRAY_BUFFER, 24 * sizeof(GLuint), indices, GL_STATIC_DRAW); From 7449a957b824c68d4452be8b5a65f5dfe8e6f43f Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 06:46:25 -0500 Subject: [PATCH 07/29] fixed jittering particles --- core/display/painters/ParticlesPainter.cpp | 2 +- core/solver/FluidSolver.cpp | 17 +++++++---------- core/solver/FluidSolver.h | 1 - 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/core/display/painters/ParticlesPainter.cpp b/core/display/painters/ParticlesPainter.cpp index ad1fc48d..80e1733d 100644 --- a/core/display/painters/ParticlesPainter.cpp +++ b/core/display/painters/ParticlesPainter.cpp @@ -6,7 +6,7 @@ #include #include -ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particlesOld) { +ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particles) { MAX_PARTICLES = _particles->size(); GLuint particleVert = compileShader(particle_vert, GL_VERTEX_SHADER); diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index a69ac23f..e97c6446 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -27,7 +27,6 @@ void FluidSolver::addFluid(GeoObject *fluid) { FluidParticle p; p.pos = pos; _particles.push_back(p); - _particlesOld.push_back(p); } } } @@ -45,19 +44,17 @@ void FluidSolver::presolve(float step) { } void FluidSolver::solve(float step) { -// for (FluidParticle &p : _particles) { -// p.vel.y += g * step; -// p.pos += p.vel * step; -// } + std::vector tempParticles(_particles.size()); for (unsigned int i = 0; i < _particles.size(); i++) { - _particles[i].vel.y = _particlesOld[i].vel.y + g * step; - _particles[i].pos += _particlesOld[i].vel * step; - if (_container->collides(_particlesOld[i].pos, _particles[i].pos)) { + tempParticles[i].vel = _particles[i].vel + glm::vec3(0, g * step, 0); + tempParticles[i].pos = _particles[i].pos + _particles[i].vel * step; + + if (_container->collides(_particles[i].pos, tempParticles[i].pos)) { _particles[i].col = glm::vec3(1,0,0); - _particlesOld[i].col = glm::vec3(1,0,0); } + tempParticles[i].col = _particles[i].col; } - swap(_particles, _particlesOld); + swap(_particles, tempParticles); } void FluidSolver::postsolve(float step) { diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index df051634..fcf1b8ea 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -36,7 +36,6 @@ class FluidSolver { private: std::vector _particles; - std::vector _particlesOld; float particle_radius; void presolve(float step); From e7635fed0c6abbd20d01fa9d854ce0ae137b238f Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 07:13:42 -0500 Subject: [PATCH 08/29] readme --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/README.md b/README.md index e69de29b..a58c37de 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,36 @@ +Fluid Solver +=========== + +First steps toward building a fluid solver. + +## User Interface: + +* Middle mouse scroll to zoom in/out +* Middle mouse click and drag to orbit the camera +* SHIFT + middle mouse click and drag to track/slide + +## Code Overview: + +### Scene Loading + +Does a simple parsing with jsoncpp to create two box objects + +### Geometry + +All geometry objects implement functions for collision detection. These come in a few different forms, allowing collision detection given next and previous points, given a point and distance tolerance, as well as given a point, ray, and timestep. +All geometry objects also have a bounding box which at the moment is used to assist in converting the geometry to particles. + +### Fluid Solver + +Particles are created by looping over all of the geometries' bounding boxes and checking if the point is contained within them. +For solving, particles are simply accelerated by a static gravity constant and then collisions are checked against the container geometry. +All information is stored in a temporary buffer which is swapped with the particle buffer at the end of the solve. + +### Drawing + +A Painter class is used to define the functionality of the BoxPainter and ParticlesPainter. Each sets up their own shaders on initialization and implement methods to draw their respective objects. +I found it much nicer to isolate my code this way so that I didn't have a billion gl calls in my geometry classes and a billion gl calls in my Window class. +Shaders are stored as char arrays in header files. I found that the easiest way to package them with my code. + +The Window sets up a glfw window and a Singleton instance of InputHandler. glfw doesn't let you have non-static callback functions so I instead have callback functions to update the state of my static InputHandler which the Window can subscribe to. +From there, I can get the window/keyboard/mouse data and do the approriate camera calculations. \ No newline at end of file From 563caf3c1f909d1d03d4e49951ede83be97a86ea Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 29 Feb 2016 07:26:21 -0500 Subject: [PATCH 09/29] add comments --- core/display/Window.cpp | 22 +++++++++++++++++----- core/display/painters/ParticlesPainter.cpp | 9 ++++++++- core/solver/FluidSolver.cpp | 3 +++ main.cpp | 2 ++ 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index 3dae6f42..d3c52eab 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -19,7 +19,10 @@ Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h) if (!glfwInit()) exit(EXIT_FAILURE); + // use antialiasing glfwWindowHint(GLFW_SAMPLES, 4); + + // set version to OpenGL 3.3 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); @@ -45,6 +48,7 @@ Window::~Window() { } + void Window::setupInputCBs() { glfwSetKeyCallback(_window, [](GLFWwindow *window, int key, int scancode, int action, int mods) { @@ -121,7 +125,9 @@ void Window::setupInputCBs() { inputHandler.registerMouseListener([&](InputHandler::MouseState &mouseState) { if (!fequal(mouseState.delWheel, 0.0)) { + // change camera zoom level based on scroll direction glm::vec3 vec = camera.tgt - camera.eye; + // limit zoom when very near to target float fac = glm::min(glm::abs(glm::length(vec)/5.f), 1.f); camera.zoom -= (float)mouseState.delWheel * fac; camera.recomputeEye(); @@ -130,12 +136,15 @@ void Window::setupInputCBs() { if (mouseState.wheelDragging) { if (inputHandler.key(340)) { + // pixel position offset from center float x = (float) (_w/2 - mouseState.delX); float y = (float) (_h/2 - mouseState.delY); + // offset in ndc float sx = (2*x / _w) - 1.f; float sy = 1.f - (2*y / _h); + // project camera up amd right axes float alpha = camera.fovy / 2; float len = glm::length(camera.tgt - camera.eye); glm::vec3 V = camera.up*(float)(len*tan(alpha)); @@ -146,17 +155,19 @@ void Window::setupInputCBs() { updateCamera(); return; } - glm::vec4 y = glm::vec4(0,1,0,0); - glm::vec4 diff(mouseState.delX / _w, mouseState.delY / _h, 0, 0); - float a = (float) acos(glm::dot(y, diff) / (glm::length(y) * (glm::length(diff)))); - glm::vec4 para; + + glm::vec4 y = glm::vec4(0,1,0,0); // y axis vector + glm::vec4 diff(mouseState.delX / _w, mouseState.delY / _h, 0, 0); // mouse offset + float a = (float) acos(glm::dot(y, diff) / (glm::length(y) * (glm::length(diff)))); // calculate offset angle from y axis + glm::vec4 para; // parallel axis to mouse movement if (diff[0] > 0) { para = glm::mat4_cast(glm::angleAxis(-a, glm::vec3(camera.look[0], camera.look[1], camera.look[2]))) * glm::vec4(camera.up, 1); } else { para = glm::mat4_cast(glm::angleAxis(a, glm::vec3(camera.look[0], camera.look[1], camera.look[2]))) * glm::vec4(camera.up, 1); } - glm::vec3 perp = glm::normalize(glm::cross(camera.look, glm::vec3(para))); + glm::vec3 perp = glm::normalize(glm::cross(camera.look, glm::vec3(para))); // perpendicular axis to mouse movement + // rotate camera on perpendicular axis glm::mat4 rot = glm::mat4_cast(glm::angleAxis(-2*PI*glm::length(diff), perp)); camera.rotation = rot * camera.rotation; camera.up = glm::vec3(rot * glm::vec4(camera.up, 0)); @@ -221,6 +232,7 @@ void Window::removePainter(Painter *painter) { void Window::updateCamera() { camera.recompute(); + // send camera uniforms to painters for (Painter* painter : _painters) { painter->setViewProj(glm::value_ptr(camera.viewProj())); } diff --git a/core/display/painters/ParticlesPainter.cpp b/core/display/painters/ParticlesPainter.cpp index 80e1733d..1729abbf 100644 --- a/core/display/painters/ParticlesPainter.cpp +++ b/core/display/painters/ParticlesPainter.cpp @@ -9,36 +9,43 @@ ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particles) { MAX_PARTICLES = _particles->size(); + // compile shaders GLuint particleVert = compileShader(particle_vert, GL_VERTEX_SHADER); GLuint particleFrag = compileShader(particle_frag, GL_FRAGMENT_SHADER); std::vector programs = {particleVert, particleFrag}; prog = makeProgram(programs); + // setup shader locations unifViewProj = glGetUniformLocation(prog, "u_viewProj"); attrPos = glGetAttribLocation(prog, "v_pos"); attrVel = glGetAttribLocation(prog, "v_vel"); attrCol = glGetAttribLocation(prog, "v_col"); + // make a buffer for the particles glGenBuffers(1, &particle_buffer); glBindBuffer(GL_ARRAY_BUFFER, particle_buffer); - glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES * sizeof(glm::vec3), NULL, GL_STREAM_DRAW); + glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES * sizeof(FluidParticle), NULL, GL_STREAM_DRAW); } void ParticlesPainter::draw() const { if (_particles != nullptr) { glUseProgram(prog); + // bind and send new data glBindBuffer(GL_ARRAY_BUFFER, particle_buffer); glBufferData(GL_ARRAY_BUFFER, MAX_PARTICLES * sizeof(FluidParticle), NULL, GL_STREAM_DRAW); glBufferSubData(GL_ARRAY_BUFFER, 0, MAX_PARTICLES * sizeof(FluidParticle), &((*_particles)[0])); + // particle positions, offset by pos attribute, jumping by FluidParticle size glEnableVertexAttribArray(attrPos); glVertexAttribPointer(attrPos, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, pos)); + // particle velocities, offset by vel attribute glEnableVertexAttribArray(attrVel); glVertexAttribPointer(attrVel, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, vel)); + // particle colors, offset by col attribute glEnableVertexAttribArray(attrCol); glVertexAttribPointer(attrCol, 3, GL_FLOAT, GL_FALSE, sizeof(FluidParticle), (void*)offsetof(FluidParticle, col)); diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index e97c6446..e9915f07 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -17,6 +17,9 @@ void FluidSolver::setContainer(GeoObject *container) { _container = container; } +/* + * Loop over fluid bounds to generate particles + */ void FluidSolver::addFluid(GeoObject *fluid) { Bound& b = fluid->bound(); for (float x = b.minX(); x < b.maxX(); x += particle_radius) { diff --git a/main.cpp b/main.cpp index 25206afe..6879832c 100644 --- a/main.cpp +++ b/main.cpp @@ -20,6 +20,8 @@ int main(int argc, char* argv[]) { window->initloop([&]() { double now = glfwGetTime(); float duration = (float) (now - start); + + // limit solver update to 24fps if (duration >= 1.f / framerate) { start = now; solver->update(duration); From cf24824d24cf505e491fd7e8630805dcf327af63 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 21 Mar 2016 11:21:01 -0400 Subject: [PATCH 10/29] basic but broken functionality; libs for linux --- .gitmodules | 3 + CMakeLists.txt | 12 ++- core/fileIO/ParticlesWriter.cpp | 31 ++++++ core/fileIO/ParticlesWriter.h | 24 +++++ core/solver/FluidParticle.h | 25 +++++ core/solver/FluidSolver.cpp | 169 ++++++++++++++++++++++++++++++- core/solver/FluidSolver.h | 29 +++--- core/solver/grid/Grid.cpp | 142 ++++++++++++++++++++++++++ core/solver/grid/Grid.h | 56 ++++++++++ core/solver/grid/MACGrid.cpp | 28 +++++ core/solver/grid/MACGrid.h | 30 ++++++ main.cpp | 15 ++- nuparu/lib/linux/asdfasdfasdf.a | Bin 0 -> 146470 bytes nuparu/lib/linux/libHalf.a | Bin 0 -> 309620 bytes nuparu/lib/linux/libIex.a | Bin 0 -> 1043392 bytes nuparu/lib/linux/libIexMath.a | Bin 0 -> 141058 bytes nuparu/lib/linux/libIlmThread.a | Bin 0 -> 429094 bytes nuparu/lib/linux/libImath.a | Bin 0 -> 950770 bytes nuparu/lib/linux/libopenvdb.a | Bin 0 -> 9025600 bytes nuparu/lib/linux/libtbb.so | 1 + nuparu/lib/linux/libtbbmalloc.so | 1 + 21 files changed, 545 insertions(+), 21 deletions(-) create mode 100644 .gitmodules create mode 100644 core/fileIO/ParticlesWriter.cpp create mode 100644 core/fileIO/ParticlesWriter.h create mode 100644 core/solver/FluidParticle.h create mode 100644 core/solver/grid/Grid.cpp create mode 100644 core/solver/grid/Grid.h create mode 100644 core/solver/grid/MACGrid.cpp create mode 100644 core/solver/grid/MACGrid.h create mode 100644 nuparu/lib/linux/asdfasdfasdf.a create mode 100644 nuparu/lib/linux/libHalf.a create mode 100644 nuparu/lib/linux/libIex.a create mode 100644 nuparu/lib/linux/libIexMath.a create mode 100644 nuparu/lib/linux/libIlmThread.a create mode 100644 nuparu/lib/linux/libImath.a create mode 100644 nuparu/lib/linux/libopenvdb.a create mode 100644 nuparu/lib/linux/libtbb.so create mode 100644 nuparu/lib/linux/libtbbmalloc.so diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..dba15f30 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "libs/glfw"] + path = libs/glfw + url = https://github.com/glfw/glfw.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 16c5f3ba..716df78b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,12 @@ find_package(OpenGL REQUIRED) find_package(GLEW) find_library(GLFW_LIBRARY "glfw3" HINTS ${GLFW_LIBRARY_DIR}) find_library(JSONCPP "jsoncpp") +find_library(OPENVDB openvdb Half) +find_library(HALF Half) +find_library(TBB NAMES tbb tbbmalloc) +find_library(ZLIB z) + +#Iex IexMath Imath IlmThread add_definitions( -DTW_STATIC @@ -44,7 +50,7 @@ add_definitions( -D_CRT_SECURE_NO_WARNINGS ) -set(CORE_LIBS ${GLFW_LIBRARY} ${GLUT_LIBRARY} ${GLEW_LIBRARY} ${JSONCPP} ${OPENGL_LIBRARY} ) +set(CORE_LIBS ${GLFW_LIBRARY} ${GLUT_LIBRARY} ${GLEW_LIBRARY} ${JSONCPP} ${OPENGL_LIBRARY} ${OPENVDB} ${TBB} ${ZLIB} ${HALF}) # OSX-specific hacks/fixes if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") @@ -58,7 +64,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Linux specific hacks/fixes if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(CORE_LIBS ${CORE_LIBS} X11 Xxf86vm Xrandr pthread Xi) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11 -lXxf86vm -lXrandr -lpthread -lXi") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lz") endif() # set compiler flags for c++11 @@ -98,7 +104,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/fileIO/ParticlesWriter.cpp b/core/fileIO/ParticlesWriter.cpp new file mode 100644 index 00000000..bc1c8e6e --- /dev/null +++ b/core/fileIO/ParticlesWriter.cpp @@ -0,0 +1,31 @@ +// +// Created by austin on 3/21/16. +// + +#include "ParticlesWriter.h" + +ParticlesWriter::ParticlesWriter() { + openvdb::initialize(); + grid = openvdb::FloatGrid::create(); +} + +ParticlesWriter::~ParticlesWriter() { + +} + +void ParticlesWriter::writeData(const FluidSolver* const solver, const std::string &filename) { + openvdb::FloatGrid::Accessor accessor = grid->getAccessor(); + openvdb::Coord xyz(0, 0, 0); + + for (const FluidParticle &particle : solver->_particles) { + xyz.reset(particle.cell.x, particle.cell.y, particle.cell.z); + accessor.setValue(xyz, 1.f); + } + + openvdb::io::File file(filename); + openvdb::GridPtrVec grids; + grids.push_back(grid); + + file.write(grids); + file.close(); +} diff --git a/core/fileIO/ParticlesWriter.h b/core/fileIO/ParticlesWriter.h new file mode 100644 index 00000000..220d6d43 --- /dev/null +++ b/core/fileIO/ParticlesWriter.h @@ -0,0 +1,24 @@ +// +// Created by austin on 3/21/16. +// + +#ifndef FLUIDSOLVER_PARTICLESWRITER_H +#define FLUIDSOLVER_PARTICLESWRITER_H + +#include +#include + +class ParticlesWriter { + +public: + ParticlesWriter(); + ~ParticlesWriter(); + + void writeData(const FluidSolver* const solver, const std::string &filename); + +private: + openvdb::FloatGrid::Ptr grid; +}; + + +#endif //FLUIDSOLVER_PARTICLESWRITER_H diff --git a/core/solver/FluidParticle.h b/core/solver/FluidParticle.h new file mode 100644 index 00000000..70417d3e --- /dev/null +++ b/core/solver/FluidParticle.h @@ -0,0 +1,25 @@ +// +// Created by austin on 3/20/16. +// + +#ifndef FLUIDSOLVER_FLUIDPARTICLE_H +#define FLUIDSOLVER_FLUIDPARTICLE_H + +#include + +struct FluidParticle { + glm::vec3 pos; + glm::vec3 pos_old; + glm::vec3 vel; + glm::vec3 col; + glm::ivec3 cell; + + FluidParticle() { + pos = glm::vec3(0); + pos_old = glm::vec3(0); + vel = glm::vec3(0); + col = glm::vec3(0.5f, 0.5f, 1.f); + } +}; + +#endif //FLUIDSOLVER_FLUIDPARTICLE_H diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index e9915f07..0bb34226 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -2,6 +2,7 @@ // Created by austin on 2/28/16. // +#include #include "FluidSolver.h" float FluidSolver::g = -9.80665f; @@ -36,10 +37,170 @@ void FluidSolver::addFluid(GeoObject *fluid) { } } +void FluidSolver::init() { + glm::vec3 size = _container->bound().dim(); + glm::vec3 origin = (_container->bound().center() - size) / 2.f; + _cell_size = 4*particle_radius; + _MAC = MACGrid >(origin, size, _cell_size); + + for (FluidParticle &particle : _particles) { + particle.cell = _MAC.indexOf(particle.pos); + _MAC(particle.cell).push_back(&particle); + } + + std::size_t velOffset = offsetof(FluidParticle, vel); + std::size_t U_offset = velOffset + offsetof(glm::vec3, x); + std::size_t V_offset = velOffset + offsetof(glm::vec3, y); + std::size_t W_offset = velOffset + offsetof(glm::vec3, z); + particleAttributeToGrid(U_offset, _MAC._gU_old, _cell_size, 0.f); + particleAttributeToGrid(V_offset, _MAC._gV_old, _cell_size, 0.f); + particleAttributeToGrid(W_offset, _MAC._gW_old, _cell_size, 0.f); + particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); + particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); + particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); +} + +void FluidSolver::projectVelocitiesToGrid() { + std::size_t velOffset = offsetof(FluidParticle, vel); + std::size_t U_offset = velOffset + offsetof(glm::vec3, x); + std::size_t V_offset = velOffset + offsetof(glm::vec3, y); + std::size_t W_offset = velOffset + offsetof(glm::vec3, z); + + _MAC._gU_old = _MAC._gU; + _MAC._gV_old = _MAC._gV; + _MAC._gW_old = _MAC._gW; + particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); + particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); + particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); +} + +void FluidSolver::transferVelocitiesToParticles() { + float smooth = 1.f; + for (FluidParticle &particle : _particles) { + float vel = interpolateAttribute(particle.pos, _MAC._gU); + float oldVel = interpolateAttribute(particle.pos, _MAC._gU_old); + particle.vel.x = vel*smooth + (particle.vel.x +(vel - oldVel))*(1.f-smooth); + } + for (FluidParticle &particle : _particles) { + float vel = interpolateAttribute(particle.pos, _MAC._gV); + float oldVel = interpolateAttribute(particle.pos, _MAC._gV_old); + particle.vel.y = vel*smooth + (particle.vel.y +(vel - oldVel))*(1.f-smooth); + } + for (FluidParticle &particle : _particles) { + float vel = interpolateAttribute(particle.pos, _MAC._gW); + float oldVel = interpolateAttribute(particle.pos, _MAC._gW_old); + particle.vel.z = vel*smooth + (particle.vel.z +(vel - oldVel))*(1.f-smooth); + } +} + +void FluidSolver::gravitySolve(float step) { + _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { + _MAC._gV(i, j, k) += g * step; + }); +} + +void FluidSolver::updateParticlePositions(float step) { + for (FluidParticle &particle : _particles) { + particle.pos_old = particle.pos; + particle.pos += particle.vel * step; + } +} + +void FluidSolver::resolveCollisions() { + for (FluidParticle &particle : _particles) { + glm::vec3 normal; + if (_container->collides(particle.pos_old, particle.pos, normal)) { + particle.col = glm::vec3(1,0,0); + glm::vec3 mask = glm::vec3(1,1,1) - normal; + particle.vel *= mask; + particle.pos = particle.pos_old; + } + } +} + +void FluidSolver::updateCells() { + _MAC.iterate([&](size_t i, size_t j, size_t k) { + _MAC(i,j,k).clear(); + }); + for (FluidParticle &particle : _particles) { + particle.cell = _MAC.indexOf(particle.pos); + if (particle.cell.x < 0 || particle.cell.y < 0 || particle.cell.z < 0) { + std::cerr << "particle out of bounds" << std::endl; + } else { + _MAC(particle.cell).push_back(&particle); + } + } +} + +template void FluidSolver::particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal) { + std::size_t attributeSize = sizeof(T); + std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); + + grid.iterate([&](size_t I, size_t J, size_t K) { + glm::vec3 gridPos = grid.positionOf(I,J,K); + + float totalDist = 0; + for (size_t i = I - cellRadius; i < I + cellRadius; i++) { + for (size_t j = J - cellRadius; j < J + cellRadius; j++) { + for (size_t k = K - cellRadius; k < K + cellRadius; k++) { + for (FluidParticle* particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + if (dist < radius) { + totalDist += dist; + } + } + } + } + } + + T temp; + T gridVal = zeroVal; + for (size_t i = I - cellRadius; i < I + cellRadius; i++) { + for (size_t j = J - cellRadius; j < J + cellRadius; j++) { + for (size_t k = K - cellRadius; k < K + cellRadius; k++) { + for (FluidParticle* particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + if (dist < radius) { + void* address = (void*)particle + offset; + std::memcpy(&temp, address, attributeSize); + gridVal += temp * dist / totalDist; + } + } + } + } + } + + grid(I,J,K) = gridVal; + }); +} + +template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid &grid) { + glm::vec3 idx = grid.fractionalIndexOf(pos); + size_t i = (size_t) floor(idx.x); + size_t j = (size_t) floor(idx.y); + size_t k = (size_t) floor(idx.z); + size_t I = (size_t) ceil(idx.x); + size_t J = (size_t) ceil(idx.y); + size_t K = (size_t) ceil(idx.z); + + T k1 = (idx.z-k) / (K-k) * grid(i,j,k) + (K-idx.z) / (K-k) * grid(i,j,K); + T k2 = (idx.z-k) / (K-k) * grid(i,J,k) + (K-idx.z) / (K-k) * grid(i,J,K); + T k3 = (idx.z-k) / (K-k) * grid(I,j,k) + (K-idx.z) / (K-k) * grid(I,j,K); + T k4 = (idx.z-k) / (K-k) * grid(I,J,k) + (K-idx.z) / (K-k) * grid(I,J,K); + + T j1 = (idx.y-j) / (J-j) * k1 + (J-idx.y) / (J-j) * k2; + T j2 = (idx.y-j) / (J-j) * k3 + (J-idx.y) / (J-j) * k4; + + return (idx.x-i) / (I-i) * j1 + (I-idx.x) / (I-i) * j2; +} + void FluidSolver::update(float step) { - presolve(step); - solve(step); - postsolve(step); + projectVelocitiesToGrid(); + gravitySolve(step); + transferVelocitiesToParticles(); + updateParticlePositions(step); + resolveCollisions(); + updateCells(); } void FluidSolver::presolve(float step) { @@ -62,4 +223,4 @@ void FluidSolver::solve(float step) { void FluidSolver::postsolve(float step) { -} +} \ No newline at end of file diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index fcf1b8ea..c432f8c2 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -8,35 +8,40 @@ #include #include #include - -struct FluidParticle { - glm::vec3 pos; - glm::vec3 vel; - glm::vec3 col; - - FluidParticle() { - pos = glm::vec3(0); - vel = glm::vec3(0); - col = glm::vec3(0.5f, 0.5f, 1.f); - } -}; +#include "grid/MACGrid.h" +#include "FluidParticle.h" class FluidSolver { friend class ParticlesPainter; + friend class ParticlesWriter; public: FluidSolver(float particleSep); ~FluidSolver(); void setContainer(GeoObject* container); void addFluid(GeoObject* fluid); + void init(); + void writeData(int frame); + + void projectVelocitiesToGrid(); + void transferVelocitiesToParticles(); + void gravitySolve(float step); + void updateParticlePositions(float step); + void resolveCollisions(); + void updateCells(); void update(float step = 0.04166f); GeoObject* _container; + MACGrid > _MAC; private: std::vector _particles; float particle_radius; + float _cell_size; + + template void particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal); + template T interpolateAttribute(const glm::vec3 &pos, Grid &grid); void presolve(float step); void solve(float step); diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp new file mode 100644 index 00000000..b42bfabb --- /dev/null +++ b/core/solver/grid/Grid.cpp @@ -0,0 +1,142 @@ +// +// Created by austin on 3/20/16. +// + +#include "Grid.h" +#include + +template Grid::Grid() { + +} + +template Grid::~Grid() { + +} + +template Grid::Grid(const glm::vec3 &offset, const glm::vec3 &dim, float size) : + _offset(offset), + _dim(dim), + _cellSize(size), + _cellCount(glm::ceil((_dim - _offset) / _cellSize)) { + _contents = std::vector((unsigned long) (_cellCount.x * _cellCount.y * _cellCount.z)); +} + +template T& Grid::operator()(std::size_t idx) { + return _contents[idx]; +} + +template const T& Grid::operator()(std::size_t idx) const { + return _contents[idx]; +} + +template T& Grid::operator()(std::size_t i, std::size_t j, std::size_t k) { + return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; +} + +template const T& Grid::operator()(std::size_t i, std::size_t j, std::size_t k) const { + return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; +} + + +template T& Grid::atIdx(std::size_t i, std::size_t j, std::size_t k) { + return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; +} + +template const T& Grid::atIdx(std::size_t i, std::size_t j, std::size_t k) const { + return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; +} + + +template T& Grid::operator()(const glm::ivec3 &idx) { + return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; +} + +template const T& Grid::operator()(const glm::ivec3 &idx) const { + return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x];; +} + +template T& Grid::atIdx(const glm::ivec3 &idx) { + return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; +} + +template const T& Grid::atIdx(const glm::ivec3 &idx) const { + return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; +} + + +template T& Grid::at(float x, float y, float z) { + return at(glm::vec3(x, y, z)); +} + +template const T& Grid::at(float x, float y, float z) const { + return at(glm::vec3(x, y, z));; +} + +template T& Grid::at(const glm::vec3 &pos) { + glm::vec3 indices = (pos - _offset) / _cellSize; + return this->operator()((size_t) indices.x, (size_t) indices.y, (size_t) indices.z); +} + +template const T& Grid::at(const glm::vec3 &pos) const { + glm::vec3 indices = (pos - _offset) / _cellSize; + return this->operator()((size_t) indices.x, (size_t) indices.y, (size_t) indices.z); +} + +template glm::ivec3 Grid::indexOf(const glm::vec3 &pos) const { + glm::vec3 indices = (pos - _offset) / _cellSize; + int i = (int) indices.x; + int j = (int) indices.y; + int k = (int) indices.z; + if (i >= _cellCount.x ) i = -1; + if (j >= _cellCount.y ) j = -1; + if (k >= _cellCount.z ) k = -1; + return glm::ivec3(i, j, k); +} + +template glm::vec3 Grid::positionOf(const glm::ivec3 &idx) const { + return glm::vec3(idx.x * _cellSize, idx.y * _cellSize, idx.z * _cellSize) + _offset; +} + +template glm::vec3 Grid::positionOf(size_t i, size_t j, size_t k) const { + return glm::vec3(i * _cellSize, j * _cellSize, k * _cellSize) + _offset; +} + +template glm::vec3 Grid::fractionalIndexOf(const glm::vec3 &pos) const { + return (pos - _offset) / _cellSize; +} + +template glm::ivec3 Grid::toIJK(const std::size_t index) const { + int i = (int) (index % _cellCount.z); + int j = (int) ((index / _cellCount.z) & _cellCount.y); + int k = (int) (index / (_cellCount.y * _cellCount.z)); + return glm::ivec3(i,j,k); +} + +template std::size_t Grid::fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const { + return (size_t) (k * _cellCount.x * _cellCount.y + j * _cellCount.x + i); +} + +template std::size_t Grid::fromIJK(const glm::ivec3 &ijk) const { + return (size_t) (ijk.z * _cellCount.x * _cellCount.y + ijk.y * _cellCount.x + ijk.x); +} + +template void Grid::iterate(const std::function &cb) { + for (size_t i = 0; i < _cellCount.x; i++) { + for (size_t j = 0; j < _cellCount.y; j++) { + for (size_t k = 0; k < _cellCount.z; k++) { + cb(i,j,k); + } + } + } +} + +template void Grid::clear(const T &zeroVal) { + for (size_t i = 0; i < _contents.size(); i++) { + _contents[i] = zeroVal; + } +} + + + +template class Grid; +template class Grid > >; diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h new file mode 100644 index 00000000..5487b8ae --- /dev/null +++ b/core/solver/grid/Grid.h @@ -0,0 +1,56 @@ +// +// Created by austin on 3/20/16. +// + +#ifndef FLUIDSOLVER_GRID_H +#define FLUIDSOLVER_GRID_H + +#include +#include +#include + +template class Grid { +public: + Grid(); + Grid(const glm::vec3 &offset, const glm::vec3 &dim, float size); + + T& operator()(std::size_t idx); + const T& operator()(std::size_t idx) const; + T& operator()(std::size_t i, std::size_t j, std::size_t k); + const T& operator()(std::size_t i, std::size_t j, std::size_t k) const; + T& atIdx(std::size_t i, std::size_t j, std::size_t k); + const T& atIdx(std::size_t i, std::size_t j, std::size_t k) const; + T& operator()(const glm::ivec3 &idx); + const T& operator()(const glm::ivec3 &idx) const; + T& atIdx(const glm::ivec3 &idx); + const T& atIdx(const glm::ivec3 &idx) const; + + T& at(float x, float y, float z); + const T& at(float x, float y, float z) const; + T& at(const glm::vec3 &pos); + const T& at(const glm::vec3 &pos) const; + + glm::ivec3 indexOf(const glm::vec3 &pos) const; + glm::vec3 positionOf(const glm::ivec3 &idx) const; + glm::vec3 positionOf(size_t i, size_t j, size_t k) const; + glm::vec3 fractionalIndexOf(const glm::vec3 &pos) const; + + glm::ivec3 toIJK(const std::size_t index) const; + std::size_t fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const; + std::size_t fromIJK(const glm::ivec3 &ijk) const; + + void iterate(const std::function &cb); + void clear(const T &zeroVal); + + virtual ~Grid(); + +private: + std::vector _contents; + glm::vec3 _offset; + glm::vec3 _dim; + float _cellSize; + glm::ivec3 _cellCount; +}; + + +#endif //FLUIDSOLVER_GRID_H diff --git a/core/solver/grid/MACGrid.cpp b/core/solver/grid/MACGrid.cpp new file mode 100644 index 00000000..6a2a34ed --- /dev/null +++ b/core/solver/grid/MACGrid.cpp @@ -0,0 +1,28 @@ +// +// Created by austin on 3/20/16. +// + +#include "MACGrid.h" +#include + +template MACGrid::MACGrid() { + +} + +template MACGrid::~MACGrid() { + +} + +template MACGrid::MACGrid(const glm::vec3 &origin, const glm::vec3 &dim, float size) : + Grid(origin, dim, size), + _gU(Grid(size*glm::vec3(0.0f,0.5f,0.5f) + origin, dim, size)), + _gV(Grid(size*glm::vec3(0.5f,0.0f,0.5f) + origin, dim, size)), + _gW(Grid(size*glm::vec3(0.5f,0.5f,0.0f) + origin, dim, size)), + _gU_old(Grid(size*glm::vec3(0.0f,0.5f,0.5f) + origin, dim, size)), + _gV_old(Grid(size*glm::vec3(0.5f,0.0f,0.5f) + origin, dim, size)), + _gW_old(Grid(size*glm::vec3(0.5f,0.5f,0.0f) + origin, dim, size)), + _gP(Grid(size*glm::vec3(0.5f,0.5f,0.5f) + origin, dim, size)) { + +} + +template class MACGrid > >; \ No newline at end of file diff --git a/core/solver/grid/MACGrid.h b/core/solver/grid/MACGrid.h new file mode 100644 index 00000000..44da73bc --- /dev/null +++ b/core/solver/grid/MACGrid.h @@ -0,0 +1,30 @@ +// +// Created by austin on 3/20/16. +// + +#ifndef FLUIDSOLVER_MACGRID_H +#define FLUIDSOLVER_MACGRID_H + +#include "Grid.h" + +template class MACGrid : public Grid { + friend class FluidSolver; +public: + MACGrid(); + MACGrid(const glm::vec3 &origin, const glm::vec3 &dim, float size); + virtual ~MACGrid(); + + Grid _gU; + Grid _gV; + Grid _gW; + Grid _gU_old; + Grid _gV_old; + Grid _gW_old; + Grid _gP; + +private: + std::vector _contents; +}; + + +#endif //FLUIDSOLVER_MACGRID_H diff --git a/main.cpp b/main.cpp index 6879832c..a82c3f15 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -7,6 +8,10 @@ int main(int argc, char* argv[]) { Window* window = new Window("Fluid Solver"); FluidSolver* solver = SceneLoader::LoadScene(argv[1]); + solver->init(); + + ParticlesWriter particlesWriter; + particlesWriter.writeData(solver, "particles_0.vdb"); ParticlesPainter particlesPainter(solver); BoxPainter boxPainter((Box *) solver->_container); @@ -15,8 +20,8 @@ int main(int argc, char* argv[]) { window->addPainter(&boxPainter); int framerate = 24; - double start = glfwGetTime(); + int frame = 0; window->initloop([&]() { double now = glfwGetTime(); float duration = (float) (now - start); @@ -24,7 +29,13 @@ int main(int argc, char* argv[]) { // limit solver update to 24fps if (duration >= 1.f / framerate) { start = now; - solver->update(duration); + //solver->update(duration); + solver->update(1.f / framerate); + + std::string filename = "particles_"; + filename.append(std::to_string(++frame)); + filename.append(".vdb"); + particlesWriter.writeData(solver, filename); } }); delete window; diff --git a/nuparu/lib/linux/asdfasdfasdf.a b/nuparu/lib/linux/asdfasdfasdf.a new file mode 100644 index 0000000000000000000000000000000000000000..659cd9add1153560f323dd1bd5e3dc7f8cfcb804 GIT binary patch literal 146470 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¬@_7qb@ZzaNORjikVYxDQ!RI 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

Jc? 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 al;$MXCFc5g%y{~%3(9{OFU_iu>;D2xY(;kf literal 0 HcmV?d00001 diff --git a/nuparu/lib/linux/libIexMath.a b/nuparu/lib/linux/libIexMath.a new file mode 100644 index 0000000000000000000000000000000000000000..e31d0c8857eba46cbb4523aafb39a64e5573f17e GIT binary patch literal 141058 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 PAu6CC_j)$h-PZmGAJtZY literal 0 HcmV?d00001 diff --git a/nuparu/lib/linux/libIlmThread.a b/nuparu/lib/linux/libIlmThread.a new file mode 100644 index 0000000000000000000000000000000000000000..099d0276305a70e37471c556f88f9bc22aa31820 GIT binary patch literal 429094 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ΞIVscFPLzayDvciTzfPn2*vmBj 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 literal 0 HcmV?d00001 diff --git a/nuparu/lib/linux/libImath.a b/nuparu/lib/linux/libImath.a new file mode 100644 index 0000000000000000000000000000000000000000..81ccafe87cfeafa99a532ce93dfbf389b2734cbf GIT binary patch literal 950770 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%0DbtSQDWUkaH-SCL#b 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

-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 z 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

  • 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 ma`~L;~yWd9u literal 0 HcmV?d00001 diff --git a/nuparu/lib/linux/libopenvdb.a b/nuparu/lib/linux/libopenvdb.a new file mode 100644 index 0000000000000000000000000000000000000000..71f9d58d49946098bfe4e9769a3458a64e33ab29 GIT binary patch literal 9025600 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

    +)rgeET!v4`quIR*=l>mPU6`m9Tne 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

    Imhp={Dr7xyxPCEutAMO?QaO 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

    * + * ABI and storage layout + * + * The table below summarizes the ABI of some possible Matrix instances which is fixed thorough the lifetime of Eigen 3. + * + * + * + * + * + * + *
    Matrix typeEquivalent C structure
    \code Matrix \endcode\code + * struct { + * T *data; // with (size_t(data)%EIGEN_MAX_ALIGN_BYTES)==0 + * Eigen::Index rows, cols; + * }; + * \endcode
    \code + * Matrix + * Matrix \endcode\code + * struct { + * T *data; // with (size_t(data)%EIGEN_MAX_ALIGN_BYTES)==0 + * Eigen::Index size; + * }; + * \endcode
    \code Matrix \endcode\code + * struct { + * T data[Rows*Cols]; // with (size_t(data)%A(Rows*Cols*sizeof(T)))==0 + * }; + * \endcode
    \code Matrix \endcode\code + * struct { + * T data[MaxRows*MaxCols]; // with (size_t(data)%A(MaxRows*MaxCols*sizeof(T)))==0 + * Eigen::Index rows, cols; + * }; + * \endcode
    + * Note that in this table Rows, Cols, MaxRows and MaxCols are all positive integers. A(S) is defined to the largest possible power-of-two + * smaller to EIGEN_MAX_STATIC_ALIGN_BYTES. + * * \see MatrixBase for the majority of the API methods for matrices, \ref TopicClassHierarchy, * \ref TopicStorageOrders */ @@ -105,9 +139,23 @@ namespace internal { template struct traits > { +private: + enum { size = internal::size_at_compile_time<_Rows,_Cols>::ret }; + typedef typename find_best_packet<_Scalar,size>::type PacketScalar; + enum { + row_major_bit = _Options&RowMajor ? RowMajorBit : 0, + is_dynamic_size_storage = _MaxRows==Dynamic || _MaxCols==Dynamic, + max_size = is_dynamic_size_storage ? Dynamic : _MaxRows*_MaxCols, + default_alignment = compute_default_alignment<_Scalar,max_size>::value, + actual_alignment = ((_Options&DontAlign)==0) ? default_alignment : 0, + required_alignment = unpacket_traits::alignment, + packet_access_bit = packet_traits<_Scalar>::Vectorizable && (actual_alignment>=required_alignment) ? PacketAccessBit : 0 + }; + +public: typedef _Scalar Scalar; typedef Dense StorageKind; - typedef DenseIndex Index; + typedef Eigen::Index StorageIndex; typedef MatrixXpr XprKind; enum { RowsAtCompileTime = _Rows, @@ -115,10 +163,13 @@ struct traits > MaxRowsAtCompileTime = _MaxRows, MaxColsAtCompileTime = _MaxCols, Flags = compute_matrix_flags<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::ret, - CoeffReadCost = NumTraits::ReadCost, Options = _Options, InnerStrideAtCompileTime = 1, - OuterStrideAtCompileTime = (Options&RowMajor) ? ColsAtCompileTime : RowsAtCompileTime + OuterStrideAtCompileTime = (Options&RowMajor) ? ColsAtCompileTime : RowsAtCompileTime, + + // FIXME, the following flag in only used to define NeedsToAlign in PlainObjectBase + EvaluatorFlags = LinearAccessBit | DirectAccessBit | packet_access_bit | row_major_bit, + Alignment = actual_alignment }; }; } @@ -151,6 +202,7 @@ class Matrix * * \callgraph */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other) { return Base::_set(other); @@ -167,7 +219,8 @@ class Matrix * remain row-vectors and vectors remain vectors. */ template - EIGEN_STRONG_INLINE Matrix& operator=(const MatrixBase& other) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE Matrix& operator=(const DenseBase& other) { return Base::_set(other); } @@ -179,12 +232,14 @@ class Matrix * \copydetails DenseBase::operator=(const EigenBase &other) */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix& operator=(const EigenBase &other) { return Base::operator=(other); } template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix& operator=(const ReturnByValue& func) { return Base::operator=(func); @@ -200,6 +255,7 @@ class Matrix * * \sa resize(Index,Index) */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix() : Base() { Base::_check_template_params(); @@ -207,45 +263,87 @@ class Matrix } // FIXME is it still needed - Matrix(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC + explicit Matrix(internal::constructor_without_unaligned_array_assert) : Base(internal::constructor_without_unaligned_array_assert()) { Base::_check_template_params(); EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED } - /** \brief Constructs a vector or row-vector with given dimension. \only_for_vectors - * - * Note that this is only useful for dynamic-size vectors. For fixed-size vectors, - * it is redundant to pass the dimension here, so it makes more sense to use the default - * constructor Matrix() instead. - */ - EIGEN_STRONG_INLINE explicit Matrix(Index dim) - : Base(dim, RowsAtCompileTime == 1 ? 1 : dim, ColsAtCompileTime == 1 ? 1 : dim) +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + Matrix(Matrix&& other) + : Base(std::move(other)) { Base::_check_template_params(); - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Matrix) - eigen_assert(dim >= 0); - eigen_assert(SizeAtCompileTime == Dynamic || SizeAtCompileTime == dim); - EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED + if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic) + Base::_set_noalias(other); } + EIGEN_DEVICE_FUNC + Matrix& operator=(Matrix&& other) + { + other.swap(*this); + return *this; + } +#endif #ifndef EIGEN_PARSED_BY_DOXYGEN + + // This constructor is for both 1x1 matrices and dynamic vectors + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE explicit Matrix(const T& x) + { + Base::_check_template_params(); + Base::template _init1(x); + } + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const T0& x, const T1& y) { Base::_check_template_params(); Base::template _init2(x, y); } #else + /** \brief Constructs a fixed-sized matrix initialized with coefficients starting at \a data */ + EIGEN_DEVICE_FUNC + explicit Matrix(const Scalar *data); + + /** \brief Constructs a vector or row-vector with given dimension. \only_for_vectors + * + * This is useful for dynamic-size vectors. For fixed-size vectors, + * it is redundant to pass these parameters, so one should use the default constructor + * Matrix() instead. + * + * \warning This constructor is disabled for fixed-size \c 1x1 matrices. For instance, + * calling Matrix(1) will call the initialization constructor: Matrix(const Scalar&). + * For fixed-size \c 1x1 matrices it is therefore recommended to use the default + * constructor Matrix() instead, especially when using one of the non standard + * \c EIGEN_INITIALIZE_MATRICES_BY_{ZERO,\c NAN} macros (see \ref TopicPreprocessorDirectives). + */ + EIGEN_STRONG_INLINE explicit Matrix(Index dim); + /** \brief Constructs an initialized 1x1 matrix with the given coefficient */ + Matrix(const Scalar& x); /** \brief Constructs an uninitialized matrix with \a rows rows and \a cols columns. * * This is useful for dynamic-size matrices. For fixed-size matrices, * it is redundant to pass these parameters, so one should use the default constructor - * Matrix() instead. */ + * Matrix() instead. + * + * \warning This constructor is disabled for fixed-size \c 1x2 and \c 2x1 vectors. For instance, + * calling Matrix2f(2,1) will call the initialization constructor: Matrix(const Scalar& x, const Scalar& y). + * For fixed-size \c 1x2 or \c 2x1 vectors it is therefore recommended to use the default + * constructor Matrix() instead, especially when using one of the non standard + * \c EIGEN_INITIALIZE_MATRICES_BY_{ZERO,\c NAN} macros (see \ref TopicPreprocessorDirectives). + */ + EIGEN_DEVICE_FUNC Matrix(Index rows, Index cols); + /** \brief Constructs an initialized 2D vector with given coefficients */ Matrix(const Scalar& x, const Scalar& y); #endif /** \brief Constructs an initialized 3D vector with given coefficients */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const Scalar& x, const Scalar& y, const Scalar& z) { Base::_check_template_params(); @@ -255,6 +353,7 @@ class Matrix m_storage.data()[2] = z; } /** \brief Constructs an initialized 4D vector with given coefficients */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const Scalar& x, const Scalar& y, const Scalar& z, const Scalar& w) { Base::_check_template_params(); @@ -265,76 +364,33 @@ class Matrix m_storage.data()[3] = w; } - explicit Matrix(const Scalar *data); - /** \brief Constructor copying the value of the expression \a other */ - template - EIGEN_STRONG_INLINE Matrix(const MatrixBase& other) - : Base(other.rows() * other.cols(), other.rows(), other.cols()) - { - // This test resides here, to bring the error messages closer to the user. Normally, these checks - // are performed deeply within the library, thus causing long and scary error traces. - EIGEN_STATIC_ASSERT((internal::is_same::value), - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - - Base::_check_template_params(); - Base::_set_noalias(other); - } /** \brief Copy constructor */ - EIGEN_STRONG_INLINE Matrix(const Matrix& other) - : Base(other.rows() * other.cols(), other.rows(), other.cols()) - { - Base::_check_template_params(); - Base::_set_noalias(other); - } - /** \brief Copy constructor with in-place evaluation */ - template - EIGEN_STRONG_INLINE Matrix(const ReturnByValue& other) - { - Base::_check_template_params(); - Base::resize(other.rows(), other.cols()); - other.evalTo(*this); - } + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE Matrix(const Matrix& other) : Base(other) + { } /** \brief Copy constructor for generic expressions. * \sa MatrixBase::operator=(const EigenBase&) */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const EigenBase &other) - : Base(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols()) - { - Base::_check_template_params(); - Base::resize(other.rows(), other.cols()); - // FIXME/CHECK: isn't *this = other.derived() more efficient. it allows to - // go for pure _set() implementations, right? - *this = other; - } - - /** \internal - * \brief Override MatrixBase::swap() since for dynamic-sized matrices - * of same type it is enough to swap the data pointers. - */ - template - void swap(MatrixBase const & other) - { this->_swap(other.derived()); } + : Base(other.derived()) + { } - inline Index innerStride() const { return 1; } - inline Index outerStride() const { return this->innerSize(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return 1; } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return this->innerSize(); } /////////// Geometry module /////////// template + EIGEN_DEVICE_FUNC explicit Matrix(const RotationBase& r); template + EIGEN_DEVICE_FUNC Matrix& operator=(const RotationBase& r); - #ifdef EIGEN2_SUPPORT - template - explicit Matrix(const eigen2_RotationBase& r); - template - Matrix& operator=(const eigen2_RotationBase& r); - #endif - // allow to extend Matrix outside Eigen #ifdef EIGEN_MATRIX_PLUGIN #include EIGEN_MATRIX_PLUGIN diff --git a/nuparu/include/Eigen/src/Core/MatrixBase.h b/nuparu/include/Eigen/src/Core/MatrixBase.h index 9193b6ab..9d612c85 100644 --- a/nuparu/include/Eigen/src/Core/MatrixBase.h +++ b/nuparu/include/Eigen/src/Core/MatrixBase.h @@ -52,7 +52,7 @@ template class MatrixBase #ifndef EIGEN_PARSED_BY_DOXYGEN typedef MatrixBase StorageBaseType; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; + typedef typename internal::traits::StorageIndex StorageIndex; typedef typename internal::traits::Scalar Scalar; typedef typename internal::packet_traits::type PacketScalar; typedef typename NumTraits::Real RealScalar; @@ -66,8 +66,7 @@ template class MatrixBase using Base::MaxSizeAtCompileTime; using Base::IsVectorAtCompileTime; using Base::Flags; - using Base::CoeffReadCost; - + using Base::derived; using Base::const_cast_derived; using Base::rows; @@ -81,6 +80,8 @@ template class MatrixBase using Base::operator-=; using Base::operator*=; using Base::operator/=; + using Base::operator*; + using Base::operator/; typedef typename Base::CoeffReturnType CoeffReturnType; typedef typename Base::ConstTransposeReturnType ConstTransposeReturnType; @@ -98,25 +99,14 @@ template class MatrixBase /** \returns the size of the main diagonal, which is min(rows(),cols()). * \sa rows(), cols(), SizeAtCompileTime. */ + EIGEN_DEVICE_FUNC inline Index diagonalSize() const { return (std::min)(rows(),cols()); } - /** \brief The plain matrix type corresponding to this expression. - * - * This is not necessarily exactly the return type of eval(). In the case of plain matrices, - * the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed - * that the return type of eval() is either PlainObject or const PlainObject&. - */ - typedef Matrix::Scalar, - internal::traits::RowsAtCompileTime, - internal::traits::ColsAtCompileTime, - AutoAlign | (internal::traits::Flags&RowMajorBit ? RowMajor : ColMajor), - internal::traits::MaxRowsAtCompileTime, - internal::traits::MaxColsAtCompileTime - > PlainObject; + typedef typename Base::PlainObject PlainObject; #ifndef EIGEN_PARSED_BY_DOXYGEN /** \internal Represents a matrix with all coefficients equal to one another*/ - typedef CwiseNullaryOp,Derived> ConstantReturnType; + typedef CwiseNullaryOp,PlainObject> ConstantReturnType; /** \internal the return type of MatrixBase::adjoint() */ typedef typename internal::conditional::IsComplex, CwiseUnaryOp, ConstTransposeReturnType>, @@ -125,7 +115,7 @@ template class MatrixBase /** \internal Return type of eigenvalues() */ typedef Matrix, internal::traits::ColsAtCompileTime, 1, ColMajor> EigenvaluesReturnType; /** \internal the return type of identity */ - typedef CwiseNullaryOp,Derived> IdentityReturnType; + typedef CwiseNullaryOp,PlainObject> IdentityReturnType; /** \internal the return type of unit vectors */ typedef Block, SquareMatrixType>, internal::traits::RowsAtCompileTime, @@ -145,39 +135,48 @@ template class MatrixBase /** Special case of the template operator=, in order to prevent the compiler * from generating a default operator= (issue hit with g++ 4.1) */ + EIGEN_DEVICE_FUNC Derived& operator=(const MatrixBase& other); // We cannot inherit here via Base::operator= since it is causing // trouble with MSVC. template + EIGEN_DEVICE_FUNC Derived& operator=(const DenseBase& other); template + EIGEN_DEVICE_FUNC Derived& operator=(const EigenBase& other); template + EIGEN_DEVICE_FUNC Derived& operator=(const ReturnByValue& other); -#ifndef EIGEN_PARSED_BY_DOXYGEN - template - Derived& lazyAssign(const ProductBase& other); - - template - Derived& lazyAssign(const MatrixPowerProduct& other); -#endif // not EIGEN_PARSED_BY_DOXYGEN - template + EIGEN_DEVICE_FUNC Derived& operator+=(const MatrixBase& other); template + EIGEN_DEVICE_FUNC Derived& operator-=(const MatrixBase& other); +#ifdef __CUDACC__ template - const typename ProductReturnType::Type + EIGEN_DEVICE_FUNC + const Product + operator*(const MatrixBase &other) const + { return this->lazyProduct(other); } +#else + + template + const Product operator*(const MatrixBase &other) const; +#endif + template - const typename LazyProductReturnType::Type + EIGEN_DEVICE_FUNC + const Product lazyProduct(const MatrixBase &other) const; template @@ -190,88 +189,91 @@ template class MatrixBase void applyOnTheRight(const EigenBase& other); template - const DiagonalProduct + EIGEN_DEVICE_FUNC + const Product operator*(const DiagonalBase &diagonal) const; template + EIGEN_DEVICE_FUNC typename internal::scalar_product_traits::Scalar,typename internal::traits::Scalar>::ReturnType dot(const MatrixBase& other) const; - #ifdef EIGEN2_SUPPORT - template - Scalar eigen2_dot(const MatrixBase& other) const; - #endif - - RealScalar squaredNorm() const; - RealScalar norm() const; + EIGEN_DEVICE_FUNC RealScalar squaredNorm() const; + EIGEN_DEVICE_FUNC RealScalar norm() const; RealScalar stableNorm() const; RealScalar blueNorm() const; RealScalar hypotNorm() const; - const PlainObject normalized() const; - void normalize(); + EIGEN_DEVICE_FUNC const PlainObject normalized() const; + EIGEN_DEVICE_FUNC void normalize(); - const AdjointReturnType adjoint() const; - void adjointInPlace(); + EIGEN_DEVICE_FUNC const AdjointReturnType adjoint() const; + EIGEN_DEVICE_FUNC void adjointInPlace(); typedef Diagonal DiagonalReturnType; + EIGEN_DEVICE_FUNC DiagonalReturnType diagonal(); - typedef typename internal::add_const >::type ConstDiagonalReturnType; + + typedef typename internal::add_const >::type ConstDiagonalReturnType; + EIGEN_DEVICE_FUNC ConstDiagonalReturnType diagonal() const; template struct DiagonalIndexReturnType { typedef Diagonal Type; }; template struct ConstDiagonalIndexReturnType { typedef const Diagonal Type; }; - template typename DiagonalIndexReturnType::Type diagonal(); - template typename ConstDiagonalIndexReturnType::Type diagonal() const; - - // Note: The "MatrixBase::" prefixes are added to help MSVC9 to match these declarations with the later implementations. - // On the other hand they confuse MSVC8... - #if (defined _MSC_VER) && (_MSC_VER >= 1500) // 2008 or later - typename MatrixBase::template DiagonalIndexReturnType::Type diagonal(Index index); - typename MatrixBase::template ConstDiagonalIndexReturnType::Type diagonal(Index index) const; - #else - typename DiagonalIndexReturnType::Type diagonal(Index index); - typename ConstDiagonalIndexReturnType::Type diagonal(Index index) const; - #endif - - #ifdef EIGEN2_SUPPORT - template typename internal::eigen2_part_return_type::type part(); - template const typename internal::eigen2_part_return_type::type part() const; + template + EIGEN_DEVICE_FUNC + typename DiagonalIndexReturnType::Type diagonal(); + + template + EIGEN_DEVICE_FUNC + typename ConstDiagonalIndexReturnType::Type diagonal() const; - // huuuge hack. make Eigen2's matrix.part() work in eigen3. Problem: Diagonal is now a class template instead - // of an integer constant. Solution: overload the part() method template wrt template parameters list. - template class U> - const DiagonalWrapper part() const - { return diagonal().asDiagonal(); } - #endif // EIGEN2_SUPPORT + typedef Diagonal DiagonalDynamicIndexReturnType; + typedef typename internal::add_const >::type ConstDiagonalDynamicIndexReturnType; + + EIGEN_DEVICE_FUNC + DiagonalDynamicIndexReturnType diagonal(Index index); + EIGEN_DEVICE_FUNC + ConstDiagonalDynamicIndexReturnType diagonal(Index index) const; template struct TriangularViewReturnType { typedef TriangularView Type; }; template struct ConstTriangularViewReturnType { typedef const TriangularView Type; }; - template typename TriangularViewReturnType::Type triangularView(); - template typename ConstTriangularViewReturnType::Type triangularView() const; + template + EIGEN_DEVICE_FUNC + typename TriangularViewReturnType::Type triangularView(); + template + EIGEN_DEVICE_FUNC + typename ConstTriangularViewReturnType::Type triangularView() const; template struct SelfAdjointViewReturnType { typedef SelfAdjointView Type; }; template struct ConstSelfAdjointViewReturnType { typedef const SelfAdjointView Type; }; - template typename SelfAdjointViewReturnType::Type selfadjointView(); - template typename ConstSelfAdjointViewReturnType::Type selfadjointView() const; + template + EIGEN_DEVICE_FUNC + typename SelfAdjointViewReturnType::Type selfadjointView(); + template + EIGEN_DEVICE_FUNC + typename ConstSelfAdjointViewReturnType::Type selfadjointView() const; const SparseView sparseView(const Scalar& m_reference = Scalar(0), const typename NumTraits::Real& m_epsilon = NumTraits::dummy_precision()) const; - static const IdentityReturnType Identity(); - static const IdentityReturnType Identity(Index rows, Index cols); - static const BasisReturnType Unit(Index size, Index i); - static const BasisReturnType Unit(Index i); - static const BasisReturnType UnitX(); - static const BasisReturnType UnitY(); - static const BasisReturnType UnitZ(); - static const BasisReturnType UnitW(); - + EIGEN_DEVICE_FUNC static const IdentityReturnType Identity(); + EIGEN_DEVICE_FUNC static const IdentityReturnType Identity(Index rows, Index cols); + EIGEN_DEVICE_FUNC static const BasisReturnType Unit(Index size, Index i); + EIGEN_DEVICE_FUNC static const BasisReturnType Unit(Index i); + EIGEN_DEVICE_FUNC static const BasisReturnType UnitX(); + EIGEN_DEVICE_FUNC static const BasisReturnType UnitY(); + EIGEN_DEVICE_FUNC static const BasisReturnType UnitZ(); + EIGEN_DEVICE_FUNC static const BasisReturnType UnitW(); + + EIGEN_DEVICE_FUNC const DiagonalWrapper asDiagonal() const; const PermutationWrapper asPermutation() const; + EIGEN_DEVICE_FUNC Derived& setIdentity(); + EIGEN_DEVICE_FUNC Derived& setIdentity(Index rows, Index cols); bool isIdentity(const RealScalar& prec = NumTraits::dummy_precision()) const; @@ -303,59 +305,49 @@ template class MatrixBase NoAlias noalias(); - inline const ForceAlignedAccess forceAlignedAccess() const; - inline ForceAlignedAccess forceAlignedAccess(); - template inline typename internal::add_const_on_value_type,Derived&>::type>::type forceAlignedAccessIf() const; - template inline typename internal::conditional,Derived&>::type forceAlignedAccessIf(); + // TODO forceAlignedAccess is temporarily disabled + // Need to find a nicer workaround. + inline const Derived& forceAlignedAccess() const { return derived(); } + inline Derived& forceAlignedAccess() { return derived(); } + template inline const Derived& forceAlignedAccessIf() const { return derived(); } + template inline Derived& forceAlignedAccessIf() { return derived(); } - Scalar trace() const; + EIGEN_DEVICE_FUNC Scalar trace() const; -/////////// Array module /////////// + template EIGEN_DEVICE_FUNC RealScalar lpNorm() const; - template RealScalar lpNorm() const; - - MatrixBase& matrix() { return *this; } - const MatrixBase& matrix() const { return *this; } + EIGEN_DEVICE_FUNC MatrixBase& matrix() { return *this; } + EIGEN_DEVICE_FUNC const MatrixBase& matrix() const { return *this; } /** \returns an \link Eigen::ArrayBase Array \endlink expression of this matrix * \sa ArrayBase::matrix() */ - ArrayWrapper array() { return derived(); } - const ArrayWrapper array() const { return derived(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ArrayWrapper array() { return ArrayWrapper(derived()); } + /** \returns a const \link Eigen::ArrayBase Array \endlink expression of this matrix + * \sa ArrayBase::matrix() */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArrayWrapper array() const { return ArrayWrapper(derived()); } /////////// LU module /////////// - const FullPivLU fullPivLu() const; - const PartialPivLU partialPivLu() const; + EIGEN_DEVICE_FUNC + inline const FullPivLU fullPivLu() const; + EIGEN_DEVICE_FUNC + inline const PartialPivLU partialPivLu() const; - #if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS - const LU lu() const; - #endif + EIGEN_DEVICE_FUNC + inline const PartialPivLU lu() const; - #ifdef EIGEN2_SUPPORT - const LU eigen2_lu() const; - #endif - - #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS - const PartialPivLU lu() const; - #endif + EIGEN_DEVICE_FUNC + inline const Inverse inverse() const; - #ifdef EIGEN2_SUPPORT template - void computeInverse(MatrixBase *result) const { - *result = this->inverse(); - } - #endif - - const internal::inverse_impl inverse() const; - template - void computeInverseAndDetWithCheck( + inline void computeInverseAndDetWithCheck( ResultType& inverse, typename ResultType::Scalar& determinant, bool& invertible, const RealScalar& absDeterminantThreshold = NumTraits::dummy_precision() ) const; template - void computeInverseWithCheck( + inline void computeInverseWithCheck( ResultType& inverse, bool& invertible, const RealScalar& absDeterminantThreshold = NumTraits::dummy_precision() @@ -364,29 +356,24 @@ template class MatrixBase /////////// Cholesky module /////////// - const LLT llt() const; - const LDLT ldlt() const; + inline const LLT llt() const; + inline const LDLT ldlt() const; /////////// QR module /////////// - const HouseholderQR householderQr() const; - const ColPivHouseholderQR colPivHouseholderQr() const; - const FullPivHouseholderQR fullPivHouseholderQr() const; - - #ifdef EIGEN2_SUPPORT - const QR qr() const; - #endif + inline const HouseholderQR householderQr() const; + inline const ColPivHouseholderQR colPivHouseholderQr() const; + inline const FullPivHouseholderQR fullPivHouseholderQr() const; - EigenvaluesReturnType eigenvalues() const; - RealScalar operatorNorm() const; +/////////// Eigenvalues module /////////// -/////////// SVD module /////////// + inline EigenvaluesReturnType eigenvalues() const; + inline RealScalar operatorNorm() const; - JacobiSVD jacobiSvd(unsigned int computationOptions = 0) const; +/////////// SVD module /////////// - #ifdef EIGEN2_SUPPORT - SVD svd() const; - #endif + inline JacobiSVD jacobiSvd(unsigned int computationOptions = 0) const; + inline BDCSVD bdcSvd(unsigned int computationOptions = 0) const; /////////// Geometry module /////////// @@ -398,20 +385,25 @@ template class MatrixBase }; #endif // EIGEN_PARSED_BY_DOXYGEN template - typename cross_product_return_type::type + EIGEN_DEVICE_FUNC + inline typename cross_product_return_type::type cross(const MatrixBase& other) const; + template - PlainObject cross3(const MatrixBase& other) const; - PlainObject unitOrthogonal(void) const; - Matrix eulerAngles(Index a0, Index a1, Index a2) const; + EIGEN_DEVICE_FUNC + inline PlainObject cross3(const MatrixBase& other) const; + + EIGEN_DEVICE_FUNC + inline PlainObject unitOrthogonal(void) const; - #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS - ScalarMultipleReturnType operator*(const UniformScaling& s) const; + inline Matrix eulerAngles(Index a0, Index a1, Index a2) const; + + inline ScalarMultipleReturnType operator*(const UniformScaling& s) const; // put this as separate enum value to work around possible GCC 4.3 bug (?) - enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1?Vertical:Horizontal }; + enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1&&RowsAtCompileTime==1 ? ((internal::traits::Flags&RowMajorBit)==RowMajorBit ? Horizontal : Vertical) + : ColsAtCompileTime==1 ? Vertical : Horizontal }; typedef Homogeneous HomogeneousReturnType; - HomogeneousReturnType homogeneous() const; - #endif + inline HomogeneousReturnType homogeneous() const; enum { SizeMinusOne = SizeAtCompileTime==Dynamic ? Dynamic : SizeAtCompileTime-1 @@ -422,7 +414,7 @@ template class MatrixBase typedef CwiseUnaryOp::Scalar>, const ConstStartMinusOne > HNormalizedReturnType; - const HNormalizedReturnType hnormalized() const; + inline const HNormalizedReturnType hnormalized() const; ////////// Householder module /////////// @@ -446,6 +438,15 @@ template class MatrixBase template void applyOnTheRight(Index p, Index q, const JacobiRotation& j); +///////// SparseCore module ///////// + + template + EIGEN_STRONG_INLINE const typename SparseMatrixBase::template CwiseProductDenseReturnType::Type + cwiseProduct(const SparseMatrixBase &other) const + { + return other.cwiseProduct(derived()); + } + ///////// MatrixFunctions module ///////// typedef typename internal::stem_function::type StemFunction; @@ -458,49 +459,15 @@ template class MatrixBase const MatrixSquareRootReturnValue sqrt() const; const MatrixLogarithmReturnValue log() const; const MatrixPowerReturnValue pow(const RealScalar& p) const; - -#ifdef EIGEN2_SUPPORT - template - Derived& operator+=(const Flagged, 0, - EvalBeforeAssigningBit>& other); - - template - Derived& operator-=(const Flagged, 0, - EvalBeforeAssigningBit>& other); - - /** \deprecated because .lazy() is deprecated - * Overloaded for cache friendly product evaluation */ - template - Derived& lazyAssign(const Flagged& other) - { return lazyAssign(other._expression()); } - - template - const Flagged marked() const; - const Flagged lazy() const; - - inline const Cwise cwise() const; - inline Cwise cwise(); - - VectorBlock start(Index size); - const VectorBlock start(Index size) const; - VectorBlock end(Index size); - const VectorBlock end(Index size) const; - template VectorBlock start(); - template const VectorBlock start() const; - template VectorBlock end(); - template const VectorBlock end() const; - - Minor minor(Index row, Index col); - const Minor minor(Index row, Index col) const; -#endif + const MatrixComplexPowerReturnValue pow(const std::complex& p) const; protected: - MatrixBase() : Base() {} + EIGEN_DEVICE_FUNC MatrixBase() : Base() {} private: - explicit MatrixBase(int); - MatrixBase(int,int); - template explicit MatrixBase(const MatrixBase&); + EIGEN_DEVICE_FUNC explicit MatrixBase(int); + EIGEN_DEVICE_FUNC MatrixBase(int,int); + template EIGEN_DEVICE_FUNC explicit MatrixBase(const MatrixBase&); protected: // mixing arrays and matrices is not legal template Derived& operator+=(const ArrayBase& ) @@ -510,6 +477,51 @@ template class MatrixBase {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;} }; + +/*************************************************************************** +* Implementation of matrix base methods +***************************************************************************/ + +/** replaces \c *this by \c *this * \a other. + * + * \returns a reference to \c *this + * + * Example: \include MatrixBase_applyOnTheRight.cpp + * Output: \verbinclude MatrixBase_applyOnTheRight.out + */ +template +template +inline Derived& +MatrixBase::operator*=(const EigenBase &other) +{ + other.derived().applyThisOnTheRight(derived()); + return derived(); +} + +/** replaces \c *this by \c *this * \a other. It is equivalent to MatrixBase::operator*=(). + * + * Example: \include MatrixBase_applyOnTheRight.cpp + * Output: \verbinclude MatrixBase_applyOnTheRight.out + */ +template +template +inline void MatrixBase::applyOnTheRight(const EigenBase &other) +{ + other.derived().applyThisOnTheRight(derived()); +} + +/** replaces \c *this by \a other * \c *this. + * + * Example: \include MatrixBase_applyOnTheLeft.cpp + * Output: \verbinclude MatrixBase_applyOnTheLeft.out + */ +template +template +inline void MatrixBase::applyOnTheLeft(const EigenBase &other) +{ + other.derived().applyThisOnTheLeft(derived()); +} + } // end namespace Eigen #endif // EIGEN_MATRIXBASE_H diff --git a/nuparu/include/Eigen/src/Core/NestByValue.h b/nuparu/include/Eigen/src/Core/NestByValue.h index a893b176..9aeaf8d1 100644 --- a/nuparu/include/Eigen/src/Core/NestByValue.h +++ b/nuparu/include/Eigen/src/Core/NestByValue.h @@ -40,29 +40,29 @@ template class NestByValue typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(NestByValue) - inline NestByValue(const ExpressionType& matrix) : m_expression(matrix) {} + EIGEN_DEVICE_FUNC explicit inline NestByValue(const ExpressionType& matrix) : m_expression(matrix) {} - inline Index rows() const { return m_expression.rows(); } - inline Index cols() const { return m_expression.cols(); } - inline Index outerStride() const { return m_expression.outerStride(); } - inline Index innerStride() const { return m_expression.innerStride(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return m_expression.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_expression.cols(); } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_expression.outerStride(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_expression.innerStride(); } - inline const CoeffReturnType coeff(Index row, Index col) const + EIGEN_DEVICE_FUNC inline const CoeffReturnType coeff(Index row, Index col) const { return m_expression.coeff(row, col); } - inline Scalar& coeffRef(Index row, Index col) + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index row, Index col) { return m_expression.const_cast_derived().coeffRef(row, col); } - inline const CoeffReturnType coeff(Index index) const + EIGEN_DEVICE_FUNC inline const CoeffReturnType coeff(Index index) const { return m_expression.coeff(index); } - inline Scalar& coeffRef(Index index) + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) { return m_expression.const_cast_derived().coeffRef(index); } @@ -91,7 +91,7 @@ template class NestByValue m_expression.const_cast_derived().template writePacket(index, x); } - operator const ExpressionType&() const { return m_expression; } + EIGEN_DEVICE_FUNC operator const ExpressionType&() const { return m_expression; } protected: const ExpressionType m_expression; diff --git a/nuparu/include/Eigen/src/Core/NoAlias.h b/nuparu/include/Eigen/src/Core/NoAlias.h index 768bfb18..0ade7525 100644 --- a/nuparu/include/Eigen/src/Core/NoAlias.h +++ b/nuparu/include/Eigen/src/Core/NoAlias.h @@ -30,62 +30,36 @@ namespace Eigen { template class StorageBase> class NoAlias { - typedef typename ExpressionType::Scalar Scalar; public: - NoAlias(ExpressionType& expression) : m_expression(expression) {} - - /** Behaves like MatrixBase::lazyAssign(other) - * \sa MatrixBase::lazyAssign() */ + typedef typename ExpressionType::Scalar Scalar; + + explicit NoAlias(ExpressionType& expression) : m_expression(expression) {} + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType& operator=(const StorageBase& other) - { return internal::assign_selector::run(m_expression,other.derived()); } - - /** \sa MatrixBase::operator+= */ + { + call_assignment_no_alias(m_expression, other.derived(), internal::assign_op()); + return m_expression; + } + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType& operator+=(const StorageBase& other) { - typedef SelfCwiseBinaryOp, ExpressionType, OtherDerived> SelfAdder; - SelfAdder tmp(m_expression); - typedef typename internal::nested::type OtherDerivedNested; - typedef typename internal::remove_all::type _OtherDerivedNested; - internal::assign_selector::run(tmp,OtherDerivedNested(other.derived())); + call_assignment_no_alias(m_expression, other.derived(), internal::add_assign_op()); return m_expression; } - - /** \sa MatrixBase::operator-= */ + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType& operator-=(const StorageBase& other) { - typedef SelfCwiseBinaryOp, ExpressionType, OtherDerived> SelfAdder; - SelfAdder tmp(m_expression); - typedef typename internal::nested::type OtherDerivedNested; - typedef typename internal::remove_all::type _OtherDerivedNested; - internal::assign_selector::run(tmp,OtherDerivedNested(other.derived())); + call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op()); return m_expression; } -#ifndef EIGEN_PARSED_BY_DOXYGEN - template - EIGEN_STRONG_INLINE ExpressionType& operator+=(const ProductBase& other) - { other.derived().addTo(m_expression); return m_expression; } - - template - EIGEN_STRONG_INLINE ExpressionType& operator-=(const ProductBase& other) - { other.derived().subTo(m_expression); return m_expression; } - - template - EIGEN_STRONG_INLINE ExpressionType& operator+=(const CoeffBasedProduct& other) - { return m_expression.derived() += CoeffBasedProduct(other.lhs(), other.rhs()); } - - template - EIGEN_STRONG_INLINE ExpressionType& operator-=(const CoeffBasedProduct& other) - { return m_expression.derived() -= CoeffBasedProduct(other.lhs(), other.rhs()); } - - template - ExpressionType& operator=(const ReturnByValue& func) - { return m_expression = func; } -#endif - + EIGEN_DEVICE_FUNC ExpressionType& expression() const { return m_expression; @@ -126,7 +100,7 @@ class NoAlias template NoAlias MatrixBase::noalias() { - return derived(); + return NoAlias(derived()); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/NumTraits.h b/nuparu/include/Eigen/src/Core/NumTraits.h index bac9e50b..1d85dec7 100644 --- a/nuparu/include/Eigen/src/Core/NumTraits.h +++ b/nuparu/include/Eigen/src/Core/NumTraits.h @@ -68,21 +68,40 @@ template struct GenericNumTraits >::type NonInteger; typedef T Nested; - static inline Real epsilon() { return std::numeric_limits::epsilon(); } + EIGEN_DEVICE_FUNC + static inline Real epsilon() + { + #if defined(__CUDA_ARCH__) + return internal::device::numeric_limits::epsilon(); + #else + return std::numeric_limits::epsilon(); + #endif + } + EIGEN_DEVICE_FUNC static inline Real dummy_precision() { // make sure to override this for floating-point types return Real(0); } - static inline T highest() { return (std::numeric_limits::max)(); } - static inline T lowest() { return IsInteger ? (std::numeric_limits::min)() : (-(std::numeric_limits::max)()); } - -#ifdef EIGEN2_SUPPORT - enum { - HasFloatingPoint = !IsInteger - }; - typedef NonInteger FloatingPoint; + + + EIGEN_DEVICE_FUNC + static inline T highest() { +#if defined(__CUDA_ARCH__) + return (internal::device::numeric_limits::max)(); +#else + return (std::numeric_limits::max)(); #endif + } + + EIGEN_DEVICE_FUNC + static inline T lowest() { +#if defined(__CUDA_ARCH__) + return IsInteger ? (internal::device::numeric_limits::min)() : (-(internal::device::numeric_limits::max)()); +#else + return IsInteger ? (std::numeric_limits::min)() : (-(std::numeric_limits::max)()); +#endif + } }; template struct NumTraits : GenericNumTraits @@ -91,11 +110,13 @@ template struct NumTraits : GenericNumTraits template<> struct NumTraits : GenericNumTraits { + EIGEN_DEVICE_FUNC static inline float dummy_precision() { return 1e-5f; } }; template<> struct NumTraits : GenericNumTraits { + EIGEN_DEVICE_FUNC static inline double dummy_precision() { return 1e-12; } }; @@ -136,9 +157,9 @@ struct NumTraits > IsInteger = NumTraits::IsInteger, IsSigned = NumTraits::IsSigned, RequireInitialization = 1, - ReadCost = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits::ReadCost, - AddCost = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits::AddCost, - MulCost = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits::MulCost + ReadCost = ArrayType::SizeAtCompileTime==Dynamic ? HugeCost : ArrayType::SizeAtCompileTime * NumTraits::ReadCost, + AddCost = ArrayType::SizeAtCompileTime==Dynamic ? HugeCost : ArrayType::SizeAtCompileTime * NumTraits::AddCost, + MulCost = ArrayType::SizeAtCompileTime==Dynamic ? HugeCost : ArrayType::SizeAtCompileTime * NumTraits::MulCost }; static inline RealScalar epsilon() { return NumTraits::epsilon(); } diff --git a/nuparu/include/Eigen/src/Core/PermutationMatrix.h b/nuparu/include/Eigen/src/Core/PermutationMatrix.h index 4fc5dd31..90e1df23 100644 --- a/nuparu/include/Eigen/src/Core/PermutationMatrix.h +++ b/nuparu/include/Eigen/src/Core/PermutationMatrix.h @@ -2,7 +2,7 @@ // for linear algebra. // // Copyright (C) 2009 Benoit Jacob -// Copyright (C) 2009-2011 Gael Guennebaud +// Copyright (C) 2009-2015 Gael Guennebaud // // This Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed @@ -13,8 +13,6 @@ namespace Eigen { -template class PermutedImpl; - /** \class PermutationBase * \ingroup Core_Module * @@ -41,10 +39,6 @@ template -struct permut_matrix_product_retval; -template -struct permut_sparsematrix_product_retval; enum PermPermProduct_t {PermPermProduct}; } // end namespace internal @@ -60,19 +54,20 @@ class PermutationBase : public EigenBase typedef typename Traits::IndicesType IndicesType; enum { Flags = Traits::Flags, - CoeffReadCost = Traits::CoeffReadCost, RowsAtCompileTime = Traits::RowsAtCompileTime, ColsAtCompileTime = Traits::ColsAtCompileTime, MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime, MaxColsAtCompileTime = Traits::MaxColsAtCompileTime }; - typedef typename Traits::Scalar Scalar; - typedef typename Traits::Index Index; - typedef Matrix + typedef typename Traits::StorageIndex StorageIndex; + typedef Matrix DenseMatrixType; - typedef PermutationMatrix + typedef PermutationMatrix PlainPermutationType; + typedef PlainPermutationType PlainObject; using Base::derived; + typedef Inverse InverseReturnType; + typedef void Scalar; #endif /** Copies the other permutation into *this */ @@ -118,7 +113,7 @@ class PermutationBase : public EigenBase void evalTo(MatrixBase& other) const { other.setZero(); - for (int i=0; i /** Sets *this to be the identity permutation matrix */ void setIdentity() { - for(Index i = 0; i < size(); ++i) + StorageIndex n = StorageIndex(size()); + for(StorageIndex i = 0; i < n; ++i) indices().coeffRef(i) = i; } @@ -163,18 +159,18 @@ class PermutationBase : public EigenBase * * \returns a reference to *this. * - * \warning This is much slower than applyTranspositionOnTheRight(int,int): + * \warning This is much slower than applyTranspositionOnTheRight(Index,Index): * this has linear complexity and requires a lot of branching. * - * \sa applyTranspositionOnTheRight(int,int) + * \sa applyTranspositionOnTheRight(Index,Index) */ Derived& applyTranspositionOnTheLeft(Index i, Index j) { eigen_assert(i>=0 && j>=0 && i * * This is a fast operation, it only consists in swapping two indices. * - * \sa applyTranspositionOnTheLeft(int,int) + * \sa applyTranspositionOnTheLeft(Index,Index) */ Derived& applyTranspositionOnTheRight(Index i, Index j) { @@ -198,14 +194,14 @@ class PermutationBase : public EigenBase * * \note \note_try_to_help_rvo */ - inline Transpose inverse() const - { return derived(); } + inline InverseReturnType inverse() const + { return InverseReturnType(derived()); } /** \returns the tranpose permutation matrix. * * \note \note_try_to_help_rvo */ - inline Transpose transpose() const - { return derived(); } + inline InverseReturnType transpose() const + { return InverseReturnType(derived()); } /**** multiplication helpers to hopefully get RVO ****/ @@ -215,13 +211,13 @@ class PermutationBase : public EigenBase template void assignTranspose(const PermutationBase& other) { - for (int i=0; i void assignProduct(const Lhs& lhs, const Rhs& rhs) { eigen_assert(lhs.cols() == rhs.rows()); - for (int i=0; i * \note \note_try_to_help_rvo */ template - inline PlainPermutationType operator*(const Transpose >& other) const + inline PlainPermutationType operator*(const InverseImpl& other) const { return PlainPermutationType(internal::PermPermProduct, *this, other.eval()); } /** \returns the product of an inverse permutation with another permutation. @@ -248,8 +244,37 @@ class PermutationBase : public EigenBase * \note \note_try_to_help_rvo */ template friend - inline PlainPermutationType operator*(const Transpose >& other, const PermutationBase& perm) + inline PlainPermutationType operator*(const InverseImpl& other, const PermutationBase& perm) { return PlainPermutationType(internal::PermPermProduct, other.eval(), perm); } + + /** \returns the determinant of the permutation matrix, which is either 1 or -1 depending on the parity of the permutation. + * + * This function is O(\c n) procedure allocating a buffer of \c n booleans. + */ + Index determinant() const + { + Index res = 1; + Index n = size(); + Matrix mask(n); + mask.fill(false); + Index r = 0; + while(r < n) + { + // search for the next seed + while(r=n) + break; + // we got one, let's follow it until we are back to the seed + Index k0 = r++; + mask.coeffRef(k0) = true; + for(Index k=indices().coeff(k0); k!=k0; k=indices().coeff(k)) + { + mask.coeffRef(k) = true; + res = -res; + } + } + return res; + } protected: @@ -262,7 +287,7 @@ class PermutationBase : public EigenBase * * \param SizeAtCompileTime the number of rows/cols, or Dynamic * \param MaxSizeAtCompileTime the maximum number of rows/cols, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it. - * \param IndexType the interger type of the indices + * \param StorageIndex the integer type of the indices * * This class represents a permutation matrix, internally stored as a vector of integers. * @@ -270,24 +295,29 @@ class PermutationBase : public EigenBase */ namespace internal { -template -struct traits > - : traits > +template +struct traits > + : traits > { - typedef IndexType Index; - typedef Matrix IndicesType; + typedef PermutationStorage StorageKind; + typedef Matrix<_StorageIndex, SizeAtCompileTime, 1, 0, MaxSizeAtCompileTime, 1> IndicesType; + typedef _StorageIndex StorageIndex; + typedef void Scalar; }; } -template -class PermutationMatrix : public PermutationBase > +template +class PermutationMatrix : public PermutationBase > { typedef PermutationBase Base; typedef internal::traits Traits; public: + typedef const PermutationMatrix& Nested; + #ifndef EIGEN_PARSED_BY_DOXYGEN typedef typename Traits::IndicesType IndicesType; + typedef typename Traits::StorageIndex StorageIndex; #endif inline PermutationMatrix() @@ -295,8 +325,10 @@ class PermutationMatrix : public PermutationBase::highest()); + } /** Copy constructor. */ template @@ -317,7 +349,7 @@ class PermutationMatrix : public PermutationBase - explicit inline PermutationMatrix(const MatrixBase& a_indices) : m_indices(a_indices) + explicit inline PermutationMatrix(const MatrixBase& indices) : m_indices(indices) {} /** Convert the Transpositions \a tr to a permutation matrix */ @@ -364,10 +396,13 @@ class PermutationMatrix : public PermutationBase - PermutationMatrix(const Transpose >& other) - : m_indices(other.nestedPermutation().size()) + PermutationMatrix(const InverseImpl& other) + : m_indices(other.derived().nestedExpression().size()) { - for (int i=0; i::highest()); + StorageIndex end = StorageIndex(m_indices.size()); + for (StorageIndex i=0; i PermutationMatrix(internal::PermPermProduct_t, const Lhs& lhs, const Rhs& rhs) @@ -384,18 +419,20 @@ class PermutationMatrix : public PermutationBase -struct traits,_PacketAccess> > - : traits > +template +struct traits,_PacketAccess> > + : traits > { - typedef IndexType Index; - typedef Map, _PacketAccess> IndicesType; + typedef PermutationStorage StorageKind; + typedef Map, _PacketAccess> IndicesType; + typedef _StorageIndex StorageIndex; + typedef void Scalar; }; } -template -class Map,_PacketAccess> - : public PermutationBase,_PacketAccess> > +template +class Map,_PacketAccess> + : public PermutationBase,_PacketAccess> > { typedef PermutationBase Base; typedef internal::traits Traits; @@ -403,14 +440,14 @@ class Map, #ifndef EIGEN_PARSED_BY_DOXYGEN typedef typename Traits::IndicesType IndicesType; - typedef typename IndicesType::Scalar Index; + typedef typename IndicesType::Scalar StorageIndex; #endif - inline Map(const Index* indicesPtr) + inline Map(const StorageIndex* indicesPtr) : m_indices(indicesPtr) {} - inline Map(const Index* indicesPtr, Index size) + inline Map(const StorageIndex* indicesPtr, Index size) : m_indices(indicesPtr,size) {} @@ -457,24 +494,21 @@ class Map, * \sa class PermutationBase, class PermutationMatrix */ -struct PermutationStorage {}; - template class TranspositionsWrapper; namespace internal { template struct traits > { typedef PermutationStorage StorageKind; - typedef typename _IndicesType::Scalar Scalar; - typedef typename _IndicesType::Scalar Index; + typedef void Scalar; + typedef typename _IndicesType::Scalar StorageIndex; typedef _IndicesType IndicesType; enum { RowsAtCompileTime = _IndicesType::SizeAtCompileTime, ColsAtCompileTime = _IndicesType::SizeAtCompileTime, - MaxRowsAtCompileTime = IndicesType::MaxRowsAtCompileTime, - MaxColsAtCompileTime = IndicesType::MaxColsAtCompileTime, - Flags = 0, - CoeffReadCost = _IndicesType::CoeffReadCost + MaxRowsAtCompileTime = IndicesType::MaxSizeAtCompileTime, + MaxColsAtCompileTime = IndicesType::MaxSizeAtCompileTime, + Flags = 0 }; }; } @@ -490,8 +524,8 @@ class PermutationWrapper : public PermutationBase -inline const internal::permut_matrix_product_retval -operator*(const MatrixBase& matrix, - const PermutationBase &permutation) +template +EIGEN_DEVICE_FUNC +const Product +operator*(const MatrixBase &matrix, + const PermutationBase& permutation) { - return internal::permut_matrix_product_retval - - (permutation.derived(), matrix.derived()); + return Product + (matrix.derived(), permutation.derived()); } /** \returns the matrix with the permutation applied to the rows. */ -template -inline const internal::permut_matrix_product_retval - +template +EIGEN_DEVICE_FUNC +const Product operator*(const PermutationBase &permutation, - const MatrixBase& matrix) + const MatrixBase& matrix) { - return internal::permut_matrix_product_retval - - (permutation.derived(), matrix.derived()); + return Product + (permutation.derived(), matrix.derived()); } -namespace internal { - -template -struct traits > -{ - typedef typename MatrixType::PlainObject ReturnType; -}; -template -struct permut_matrix_product_retval - : public ReturnByValue > +template +class InverseImpl + : public EigenBase > { - typedef typename remove_all::type MatrixTypeNestedCleaned; - typedef typename MatrixType::Index Index; - - permut_matrix_product_retval(const PermutationType& perm, const MatrixType& matrix) - : m_permutation(perm), m_matrix(matrix) - {} - - inline Index rows() const { return m_matrix.rows(); } - inline Index cols() const { return m_matrix.cols(); } - - template inline void evalTo(Dest& dst) const - { - const Index n = Side==OnTheLeft ? rows() : cols(); - - if(is_same::value && extract_data(dst) == extract_data(m_matrix)) - { - // apply the permutation inplace - Matrix mask(m_permutation.size()); - mask.fill(false); - Index r = 0; - while(r < m_permutation.size()) - { - // search for the next seed - while(r=m_permutation.size()) - break; - // we got one, let's follow it until we are back to the seed - Index k0 = r++; - Index kPrev = k0; - mask.coeffRef(k0) = true; - for(Index k=m_permutation.indices().coeff(k0); k!=k0; k=m_permutation.indices().coeff(k)) - { - Block(dst, k) - .swap(Block - (dst,((Side==OnTheLeft) ^ Transposed) ? k0 : kPrev)); - - mask.coeffRef(k) = true; - kPrev = k; - } - } - } - else - { - for(int i = 0; i < n; ++i) - { - Block - (dst, ((Side==OnTheLeft) ^ Transposed) ? m_permutation.indices().coeff(i) : i) - - = - - Block - (m_matrix, ((Side==OnTheRight) ^ Transposed) ? m_permutation.indices().coeff(i) : i); - } - } - } - - protected: - const PermutationType& m_permutation; - typename MatrixType::Nested m_matrix; -}; - -/* Template partial specialization for transposed/inverse permutations */ - -template -struct traits > > - : traits -{}; - -} // end namespace internal - -template -class Transpose > - : public EigenBase > > -{ - typedef Derived PermutationType; - typedef typename PermutationType::IndicesType IndicesType; typedef typename PermutationType::PlainPermutationType PlainPermutationType; + typedef internal::traits PermTraits; + protected: + InverseImpl() {} public: + typedef Inverse InverseType; + using EigenBase >::derived; #ifndef EIGEN_PARSED_BY_DOXYGEN - typedef internal::traits Traits; - typedef typename Derived::DenseMatrixType DenseMatrixType; + typedef typename PermutationType::DenseMatrixType DenseMatrixType; enum { - Flags = Traits::Flags, - CoeffReadCost = Traits::CoeffReadCost, - RowsAtCompileTime = Traits::RowsAtCompileTime, - ColsAtCompileTime = Traits::ColsAtCompileTime, - MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime, - MaxColsAtCompileTime = Traits::MaxColsAtCompileTime + RowsAtCompileTime = PermTraits::RowsAtCompileTime, + ColsAtCompileTime = PermTraits::ColsAtCompileTime, + MaxRowsAtCompileTime = PermTraits::MaxRowsAtCompileTime, + MaxColsAtCompileTime = PermTraits::MaxColsAtCompileTime }; - typedef typename Traits::Scalar Scalar; #endif - Transpose(const PermutationType& p) : m_permutation(p) {} - - inline int rows() const { return m_permutation.rows(); } - inline int cols() const { return m_permutation.cols(); } - #ifndef EIGEN_PARSED_BY_DOXYGEN template void evalTo(MatrixBase& other) const { other.setZero(); - for (int i=0; i friend - inline const internal::permut_matrix_product_retval - operator*(const MatrixBase& matrix, const Transpose& trPerm) + const Product + operator*(const MatrixBase& matrix, const InverseType& trPerm) { - return internal::permut_matrix_product_retval(trPerm.m_permutation, matrix.derived()); + return Product(matrix.derived(), trPerm.derived()); } /** \returns the matrix with the inverse permutation applied to the rows. */ template - inline const internal::permut_matrix_product_retval + const Product operator*(const MatrixBase& matrix) const { - return internal::permut_matrix_product_retval(m_permutation, matrix.derived()); + return Product(derived(), matrix.derived()); } - - const PermutationType& nestedPermutation() const { return m_permutation; } - - protected: - const PermutationType& m_permutation; }; template @@ -683,6 +625,12 @@ const PermutationWrapper MatrixBase::asPermutation() con return derived(); } +namespace internal { + +template<> struct AssignmentKind { typedef EigenBase2EigenBase Kind; }; + +} // end namespace internal + } // end namespace Eigen #endif // EIGEN_PERMUTATIONMATRIX_H diff --git a/nuparu/include/Eigen/src/Core/PlainObjectBase.h b/nuparu/include/Eigen/src/Core/PlainObjectBase.h index af0a479c..1225e85b 100644 --- a/nuparu/include/Eigen/src/Core/PlainObjectBase.h +++ b/nuparu/include/Eigen/src/Core/PlainObjectBase.h @@ -28,6 +28,7 @@ namespace internal { template struct check_rows_cols_for_overflow { template + EIGEN_DEVICE_FUNC static EIGEN_ALWAYS_INLINE void run(Index, Index) { } @@ -35,6 +36,7 @@ template struct check_rows_cols_for_overflow { template<> struct check_rows_cols_for_overflow { template + EIGEN_DEVICE_FUNC static EIGEN_ALWAYS_INLINE void run(Index rows, Index cols) { // http://hg.mozilla.org/mozilla-central/file/6c8a909977d3/xpcom/ds/CheckedInt.h#l242 @@ -47,7 +49,10 @@ template<> struct check_rows_cols_for_overflow { } }; -template struct conservative_resize_like_impl; +template +struct conservative_resize_like_impl; template struct matrix_swap_impl; @@ -64,8 +69,9 @@ template struct m #ifdef EIGEN_PARSED_BY_DOXYGEN namespace internal { -// this is a warkaround to doxygen not being able to understand the inheritence logic +// this is a workaround to doxygen not being able to understand the inheritance logic // when it is hidden by the dense_xpr_base helper struct. +/** This class is just a workaround for Doxygen and it does not not actually exist. */ template struct dense_xpr_base_dispatcher_for_doxygen;// : public MatrixBase {}; /** This class is just a workaround for Doxygen and it does not not actually exist. */ template @@ -90,8 +96,8 @@ class PlainObjectBase : public internal::dense_xpr_base::type typedef typename internal::dense_xpr_base::type Base; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; + typedef typename internal::packet_traits::type PacketScalar; typedef typename NumTraits::Real RealScalar; typedef Derived DenseType; @@ -110,28 +116,36 @@ class PlainObjectBase : public internal::dense_xpr_base::type typedef Eigen::Map MapType; friend class Eigen::Map; typedef const Eigen::Map ConstMapType; - friend class Eigen::Map; - typedef Eigen::Map AlignedMapType; - friend class Eigen::Map; - typedef const Eigen::Map ConstAlignedMapType; +#if EIGEN_MAX_ALIGN_BYTES>0 + // for EIGEN_MAX_ALIGN_BYTES==0, AlignedMax==Unaligned, and many compilers generate warnings for friend-ing a class twice. + friend class Eigen::Map; + friend class Eigen::Map; +#endif + typedef Eigen::Map AlignedMapType; + typedef const Eigen::Map ConstAlignedMapType; template struct StridedMapType { typedef Eigen::Map type; }; template struct StridedConstMapType { typedef Eigen::Map type; }; - template struct StridedAlignedMapType { typedef Eigen::Map type; }; - template struct StridedConstAlignedMapType { typedef Eigen::Map type; }; + template struct StridedAlignedMapType { typedef Eigen::Map type; }; + template struct StridedConstAlignedMapType { typedef Eigen::Map type; }; protected: DenseStorage m_storage; public: - enum { NeedsToAlign = SizeAtCompileTime != Dynamic && (internal::traits::Flags & AlignedBit) != 0 }; + enum { NeedsToAlign = (SizeAtCompileTime != Dynamic) && (internal::traits::Alignment>0) }; EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) + EIGEN_DEVICE_FUNC Base& base() { return *static_cast(this); } + EIGEN_DEVICE_FUNC const Base& base() const { return *static_cast(this); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const { return m_storage.rows(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const { return m_storage.cols(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& coeff(Index rowId, Index colId) const { if(Flags & RowMajorBit) @@ -140,11 +154,13 @@ class PlainObjectBase : public internal::dense_xpr_base::type return m_storage.data()[rowId + colId * m_storage.rows()]; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& coeff(Index index) const { return m_storage.data()[index]; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index rowId, Index colId) { if(Flags & RowMajorBit) @@ -153,11 +169,13 @@ class PlainObjectBase : public internal::dense_xpr_base::type return m_storage.data()[rowId + colId * m_storage.rows()]; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index index) { return m_storage.data()[index]; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& coeffRef(Index rowId, Index colId) const { if(Flags & RowMajorBit) @@ -166,6 +184,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type return m_storage.data()[rowId + colId * m_storage.rows()]; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& coeffRef(Index index) const { return m_storage.data()[index]; @@ -206,11 +225,11 @@ class PlainObjectBase : public internal::dense_xpr_base::type } /** \returns a const pointer to the data array of this matrix */ - EIGEN_STRONG_INLINE const Scalar *data() const + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar *data() const { return m_storage.data(); } /** \returns a pointer to the data array of this matrix */ - EIGEN_STRONG_INLINE Scalar *data() + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar *data() { return m_storage.data(); } /** Resizes \c *this to a \a rows x \a cols matrix. @@ -229,22 +248,22 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * \sa resize(Index) for vectors, resize(NoChange_t, Index), resize(Index, NoChange_t) */ - EIGEN_STRONG_INLINE void resize(Index nbRows, Index nbCols) - { - eigen_assert( EIGEN_IMPLIES(RowsAtCompileTime!=Dynamic,nbRows==RowsAtCompileTime) - && EIGEN_IMPLIES(ColsAtCompileTime!=Dynamic,nbCols==ColsAtCompileTime) - && EIGEN_IMPLIES(RowsAtCompileTime==Dynamic && MaxRowsAtCompileTime!=Dynamic,nbRows<=MaxRowsAtCompileTime) - && EIGEN_IMPLIES(ColsAtCompileTime==Dynamic && MaxColsAtCompileTime!=Dynamic,nbCols<=MaxColsAtCompileTime) - && nbRows>=0 && nbCols>=0 && "Invalid sizes when resizing a matrix or array."); - internal::check_rows_cols_for_overflow::run(nbRows, nbCols); + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void resize(Index rows, Index cols) + { + eigen_assert( EIGEN_IMPLIES(RowsAtCompileTime!=Dynamic,rows==RowsAtCompileTime) + && EIGEN_IMPLIES(ColsAtCompileTime!=Dynamic,cols==ColsAtCompileTime) + && EIGEN_IMPLIES(RowsAtCompileTime==Dynamic && MaxRowsAtCompileTime!=Dynamic,rows<=MaxRowsAtCompileTime) + && EIGEN_IMPLIES(ColsAtCompileTime==Dynamic && MaxColsAtCompileTime!=Dynamic,cols<=MaxColsAtCompileTime) + && rows>=0 && cols>=0 && "Invalid sizes when resizing a matrix or array."); + internal::check_rows_cols_for_overflow::run(rows, cols); #ifdef EIGEN_INITIALIZE_COEFFS - Index size = nbRows*nbCols; + Index size = rows*cols; bool size_changed = size != this->size(); - m_storage.resize(size, nbRows, nbCols); + m_storage.resize(size, rows, cols); if(size_changed) EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED #else - internal::check_rows_cols_for_overflow::run(nbRows, nbCols); - m_storage.resize(nbRows*nbCols, nbRows, nbCols); + m_storage.resize(rows*cols, rows, cols); #endif } @@ -259,6 +278,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * \sa resize(Index,Index), resize(NoChange_t, Index), resize(Index, NoChange_t) */ + EIGEN_DEVICE_FUNC inline void resize(Index size) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(PlainObjectBase) @@ -283,9 +303,10 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * \sa resize(Index,Index) */ - inline void resize(NoChange_t, Index nbCols) + EIGEN_DEVICE_FUNC + inline void resize(NoChange_t, Index cols) { - resize(rows(), nbCols); + resize(rows(), cols); } /** Resizes the matrix, changing only the number of rows. For the parameter of type NoChange_t, just pass the special value \c NoChange @@ -296,9 +317,10 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * \sa resize(Index,Index) */ - inline void resize(Index nbRows, NoChange_t) + EIGEN_DEVICE_FUNC + inline void resize(Index rows, NoChange_t) { - resize(nbRows, cols()); + resize(rows, cols()); } /** Resizes \c *this to have the same dimensions as \a other. @@ -309,6 +331,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type * remain row-vectors and vectors remain vectors. */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resizeLike(const EigenBase& _other) { const OtherDerived& other = _other.derived(); @@ -336,9 +359,10 @@ class PlainObjectBase : public internal::dense_xpr_base::type * Matrices are resized relative to the top-left element. In case values need to be * appended to the matrix they will be uninitialized. */ - EIGEN_STRONG_INLINE void conservativeResize(Index nbRows, Index nbCols) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void conservativeResize(Index rows, Index cols) { - internal::conservative_resize_like_impl::run(*this, nbRows, nbCols); + internal::conservative_resize_like_impl::run(*this, rows, cols); } /** Resizes the matrix to \a rows x \a cols while leaving old values untouched. @@ -348,10 +372,11 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * In case the matrix is growing, new rows will be uninitialized. */ - EIGEN_STRONG_INLINE void conservativeResize(Index nbRows, NoChange_t) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void conservativeResize(Index rows, NoChange_t) { // Note: see the comment in conservativeResize(Index,Index) - conservativeResize(nbRows, cols()); + conservativeResize(rows, cols()); } /** Resizes the matrix to \a rows x \a cols while leaving old values untouched. @@ -361,10 +386,11 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * In case the matrix is growing, new columns will be uninitialized. */ - EIGEN_STRONG_INLINE void conservativeResize(NoChange_t, Index nbCols) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void conservativeResize(NoChange_t, Index cols) { // Note: see the comment in conservativeResize(Index,Index) - conservativeResize(rows(), nbCols); + conservativeResize(rows(), cols); } /** Resizes the vector to \a size while retaining old values. @@ -375,6 +401,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * When values are appended, they will be uninitialized. */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void conservativeResize(Index size) { internal::conservative_resize_like_impl::run(*this, size); @@ -390,6 +417,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type * appended to the matrix they will copied from \c other. */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void conservativeResizeLike(const DenseBase& other) { internal::conservative_resize_like_impl::run(*this, other); @@ -398,6 +426,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type /** This is a special case of the templated operator=. Its purpose is to * prevent a default operator= from hiding the templated operator=. */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const PlainObjectBase& other) { return _set(other); @@ -405,6 +434,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type /** \sa MatrixBase::lazyAssign() */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& lazyAssign(const DenseBase& other) { _resize_to_match(other); @@ -412,12 +442,18 @@ class PlainObjectBase : public internal::dense_xpr_base::type } template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const ReturnByValue& func) { resize(func.rows(), func.cols()); return Base::operator=(func); } + // Prevent user from trying to instantiate PlainObjectBase objects + // by making all its constructor protected. See bug 1074. + protected: + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PlainObjectBase() : m_storage() { // _check_template_params(); @@ -427,38 +463,85 @@ class PlainObjectBase : public internal::dense_xpr_base::type #ifndef EIGEN_PARSED_BY_DOXYGEN // FIXME is it still needed ? /** \internal */ - PlainObjectBase(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC + explicit PlainObjectBase(internal::constructor_without_unaligned_array_assert) : m_storage(internal::constructor_without_unaligned_array_assert()) { // _check_template_params(); EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED } #endif - EIGEN_STRONG_INLINE PlainObjectBase(Index a_size, Index nbRows, Index nbCols) - : m_storage(a_size, nbRows, nbCols) +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + PlainObjectBase(PlainObjectBase&& other) + : m_storage( std::move(other.m_storage) ) + { + } + + EIGEN_DEVICE_FUNC + PlainObjectBase& operator=(PlainObjectBase&& other) + { + using std::swap; + swap(m_storage, other.m_storage); + return *this; + } +#endif + + /** Copy constructor */ + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE PlainObjectBase(const PlainObjectBase& other) + : Base(), m_storage(other.m_storage) { } + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE PlainObjectBase(Index size, Index rows, Index cols) + : m_storage(size, rows, cols) { // _check_template_params(); // EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED } - /** \copydoc MatrixBase::operator=(const EigenBase&) - */ + /** \sa PlainObjectBase::operator=(const EigenBase&) */ template - EIGEN_STRONG_INLINE Derived& operator=(const EigenBase &other) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE PlainObjectBase(const DenseBase &other) + : m_storage() { - _resize_to_match(other); - Base::operator=(other.derived()); - return this->derived(); + _check_template_params(); + resizeLike(other); + _set_noalias(other); } - /** \sa MatrixBase::operator=(const EigenBase&) */ + /** \sa PlainObjectBase::operator=(const EigenBase&) */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PlainObjectBase(const EigenBase &other) - : m_storage(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols()) + : m_storage() { _check_template_params(); - internal::check_rows_cols_for_overflow::run(other.derived().rows(), other.derived().cols()); + resizeLike(other); + *this = other.derived(); + } + /** \brief Copy constructor with in-place evaluation */ + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE PlainObjectBase(const ReturnByValue& other) + { + _check_template_params(); + // FIXME this does not automatically transpose vectors if necessary + resize(other.rows(), other.cols()); + other.evalTo(this->derived()); + } + + public: + + /** \copydoc MatrixBase::operator=(const EigenBase&) + */ + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE Derived& operator=(const EigenBase &other) + { + _resize_to_match(other); Base::operator=(other.derived()); + return this->derived(); } /** \name Map @@ -535,16 +618,16 @@ class PlainObjectBase : public internal::dense_xpr_base::type //@} using Base::setConstant; - Derived& setConstant(Index size, const Scalar& value); - Derived& setConstant(Index rows, Index cols, const Scalar& value); + EIGEN_DEVICE_FUNC Derived& setConstant(Index size, const Scalar& value); + EIGEN_DEVICE_FUNC Derived& setConstant(Index rows, Index cols, const Scalar& value); using Base::setZero; - Derived& setZero(Index size); - Derived& setZero(Index rows, Index cols); + EIGEN_DEVICE_FUNC Derived& setZero(Index size); + EIGEN_DEVICE_FUNC Derived& setZero(Index rows, Index cols); using Base::setOnes; - Derived& setOnes(Index size); - Derived& setOnes(Index rows, Index cols); + EIGEN_DEVICE_FUNC Derived& setOnes(Index size); + EIGEN_DEVICE_FUNC Derived& setOnes(Index rows, Index cols); using Base::setRandom; Derived& setRandom(Index size); @@ -563,6 +646,7 @@ class PlainObjectBase : public internal::dense_xpr_base::type * remain row-vectors and vectors remain vectors. */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void _resize_to_match(const EigenBase& other) { #ifdef EIGEN_NO_AUTOMATIC_RESIZING @@ -589,25 +673,23 @@ class PlainObjectBase : public internal::dense_xpr_base::type * * \internal */ + // aliasing is dealt once in internall::call_assignment + // so at this stage we have to assume aliasing... and resising has to be done later. template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& _set(const DenseBase& other) { - _set_selector(other.derived(), typename internal::conditional(int(OtherDerived::Flags) & EvalBeforeAssigningBit), internal::true_type, internal::false_type>::type()); + internal::call_assignment(this->derived(), other.derived()); return this->derived(); } - template - EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const internal::true_type&) { _set_noalias(other.eval()); } - - template - EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const internal::false_type&) { _set_noalias(other); } - /** \internal Like _set() but additionally makes the assumption that no aliasing effect can happen (which * is the case when creating a new matrix) so one can enforce lazy evaluation. * * \sa operator=(const MatrixBase&), _set() */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& _set_noalias(const DenseBase& other) { // I don't think we need this resize call since the lazyAssign will anyways resize @@ -615,40 +697,166 @@ class PlainObjectBase : public internal::dense_xpr_base::type //_resize_to_match(other); // the 'false' below means to enforce lazy evaluation. We don't use lazyAssign() because // it wouldn't allow to copy a row-vector into a column-vector. - return internal::assign_selector::run(this->derived(), other.derived()); + internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op()); + return this->derived(); } template - EIGEN_STRONG_INLINE void _init2(Index nbRows, Index nbCols, typename internal::enable_if::type* = 0) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init2(Index rows, Index cols, typename internal::enable_if::type* = 0) { EIGEN_STATIC_ASSERT(bool(NumTraits::IsInteger) && bool(NumTraits::IsInteger), FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED) - resize(nbRows,nbCols); + resize(rows,cols); } + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void _init2(const Scalar& val0, const Scalar& val1, typename internal::enable_if::type* = 0) { EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 2) m_storage.data()[0] = val0; m_storage.data()[1] = val1; } + + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init2(const Index& val0, const Index& val1, + typename internal::enable_if< (!internal::is_same::value) + && (internal::is_same::value) + && (internal::is_same::value) + && Base::SizeAtCompileTime==2,T1>::type* = 0) + { + EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 2) + m_storage.data()[0] = Scalar(val0); + m_storage.data()[1] = Scalar(val1); + } + + // The argument is convertible to the Index type and we either have a non 1x1 Matrix, or a dynamic-sized Array, + // then the argument is meant to be the size of the object. + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(Index size, typename internal::enable_if< (Base::SizeAtCompileTime!=1 || !internal::is_convertible::value) + && ((!internal::is_same::XprKind,ArrayXpr>::value || Base::SizeAtCompileTime==Dynamic)),T>::type* = 0) + { + // NOTE MSVC 2008 complains if we directly put bool(NumTraits::IsInteger) as the EIGEN_STATIC_ASSERT argument. + const bool is_integer = NumTraits::IsInteger; + EIGEN_STATIC_ASSERT(is_integer, + FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED) + resize(size); + } + + // We have a 1x1 matrix/array => the argument is interpreted as the value of the unique coefficient (case where scalar type can be implicitely converted) + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const Scalar& val0, typename internal::enable_if::value,T>::type* = 0) + { + EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 1) + m_storage.data()[0] = val0; + } + + // We have a 1x1 matrix/array => the argument is interpreted as the value of the unique coefficient (case where scalar type match the index type) + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const Index& val0, + typename internal::enable_if< (!internal::is_same::value) + && (internal::is_same::value) + && Base::SizeAtCompileTime==1 + && internal::is_convertible::value,T*>::type* = 0) + { + EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 1) + m_storage.data()[0] = Scalar(val0); + } + + // Initialize a fixed size matrix from a pointer to raw data + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const Scalar* data){ + this->_set_noalias(ConstMapType(data)); + } + + // Initialize an arbitrary matrix from a dense expression + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const DenseBase& other){ + this->_set_noalias(other); + } + + // Initialize an arbitrary matrix from a generic Eigen expression + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const EigenBase& other){ + this->derived() = other; + } + + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const ReturnByValue& other) + { + resize(other.rows(), other.cols()); + other.evalTo(this->derived()); + } + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const RotationBase& r) + { + this->derived() = r; + } + + // For fixed -size arrays: + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const Scalar& val0, + typename internal::enable_if< Base::SizeAtCompileTime!=Dynamic + && Base::SizeAtCompileTime!=1 + && internal::is_convertible::value + && internal::is_same::XprKind,ArrayXpr>::value,T>::type* = 0) + { + Base::setConstant(val0); + } + + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE void _init1(const Index& val0, + typename internal::enable_if< (!internal::is_same::value) + && (internal::is_same::value) + && Base::SizeAtCompileTime!=Dynamic + && Base::SizeAtCompileTime!=1 + && internal::is_convertible::value + && internal::is_same::XprKind,ArrayXpr>::value,T*>::type* = 0) + { + Base::setConstant(val0); + } + template friend struct internal::matrix_swap_impl; - /** \internal generic implementation of swap for dense storage since for dynamic-sized matrices of same type it is enough to swap the - * data pointers. + public: + +#ifndef EIGEN_PARSED_BY_DOXYGEN + /** \internal + * \brief Override DenseBase::swap() since for dynamic-sized matrices + * of same type it is enough to swap the data pointers. */ template - void _swap(DenseBase const & other) + EIGEN_DEVICE_FUNC + void swap(DenseBase & other) { enum { SwapPointers = internal::is_same::value && Base::SizeAtCompileTime==Dynamic }; - internal::matrix_swap_impl::run(this->derived(), other.const_cast_derived()); + internal::matrix_swap_impl::run(this->derived(), other.derived()); } - - public: -#ifndef EIGEN_PARSED_BY_DOXYGEN + + /** \internal + * \brief const version forwarded to DenseBase::swap + */ + template + EIGEN_DEVICE_FUNC + void swap(DenseBase const & other) + { Base::swap(other.derived()); } + + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void _check_template_params() { EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, (Options&RowMajor)==RowMajor) @@ -662,16 +870,16 @@ class PlainObjectBase : public internal::dense_xpr_base::type && (Options & (DontAlign|RowMajor)) == Options), INVALID_MATRIX_TEMPLATE_PARAMETERS) } -#endif -private: - enum { ThisConstantIsPrivateInPlainObjectBase }; + enum { IsPlainObjectBase = 1 }; +#endif }; +namespace internal { + template -struct internal::conservative_resize_like_impl +struct conservative_resize_like_impl { - typedef typename Derived::Index Index; static void run(DenseBase& _this, Index rows, Index cols) { if (_this.rows() == rows && _this.cols() == cols) return; @@ -729,12 +937,14 @@ struct internal::conservative_resize_like_impl } }; -namespace internal { - +// Here, the specialization for vectors inherits from the general matrix case +// to allow calling .conservativeResize(rows,cols) on vectors. template struct conservative_resize_like_impl + : conservative_resize_like_impl { - typedef typename Derived::Index Index; + using conservative_resize_like_impl::run; + static void run(DenseBase& _this, Index size) { const Index new_rows = Derived::RowsAtCompileTime==1 ? 1 : size; @@ -760,6 +970,7 @@ struct conservative_resize_like_impl template struct matrix_swap_impl { + EIGEN_DEVICE_FUNC static inline void run(MatrixTypeA& a, MatrixTypeB& b) { a.base().swap(b); @@ -769,6 +980,7 @@ struct matrix_swap_impl template struct matrix_swap_impl { + EIGEN_DEVICE_FUNC static inline void run(MatrixTypeA& a, MatrixTypeB& b) { static_cast(a).m_storage.swap(static_cast(b).m_storage); diff --git a/nuparu/include/Eigen/src/Core/Product.h b/nuparu/include/Eigen/src/Core/Product.h new file mode 100644 index 00000000..fdd2fed3 --- /dev/null +++ b/nuparu/include/Eigen/src/Core/Product.h @@ -0,0 +1,222 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2008-2011 Gael Guennebaud +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_PRODUCT_H +#define EIGEN_PRODUCT_H + +namespace Eigen { + +template class ProductImpl; + +/** \class Product + * \ingroup Core_Module + * + * \brief Expression of the product of two arbitrary matrices or vectors + * + * \param Lhs the type of the left-hand side expression + * \param Rhs the type of the right-hand side expression + * + * This class represents an expression of the product of two arbitrary matrices. + * + * The other template parameters are: + * \tparam Option can be DefaultProduct, AliasFreeProduct, or LazyProduct + * + */ + + +namespace internal { + +// Determine the scalar of Product. This is normally the same as Lhs::Scalar times +// Rhs::Scalar, but product with permutation matrices inherit the scalar of the other factor. +template::Shape, + typename RhsShape = typename evaluator_traits::Shape > +struct product_result_scalar +{ + typedef typename scalar_product_traits::ReturnType Scalar; +}; + +template +struct product_result_scalar +{ + typedef typename Rhs::Scalar Scalar; +}; + +template + struct product_result_scalar +{ + typedef typename Lhs::Scalar Scalar; +}; + +template +struct product_result_scalar +{ + typedef typename Rhs::Scalar Scalar; +}; + +template + struct product_result_scalar +{ + typedef typename Lhs::Scalar Scalar; +}; + +template +struct traits > +{ + typedef typename remove_all::type LhsCleaned; + typedef typename remove_all::type RhsCleaned; + typedef traits LhsTraits; + typedef traits RhsTraits; + + typedef MatrixXpr XprKind; + + typedef typename product_result_scalar::Scalar Scalar; + typedef typename product_promote_storage_type::ret>::ret StorageKind; + typedef typename promote_index_type::type StorageIndex; + + enum { + RowsAtCompileTime = LhsTraits::RowsAtCompileTime, + ColsAtCompileTime = RhsTraits::ColsAtCompileTime, + MaxRowsAtCompileTime = LhsTraits::MaxRowsAtCompileTime, + MaxColsAtCompileTime = RhsTraits::MaxColsAtCompileTime, + + // FIXME: only needed by GeneralMatrixMatrixTriangular + InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(LhsTraits::ColsAtCompileTime, RhsTraits::RowsAtCompileTime), + + // The storage order is somewhat arbitrary here. The correct one will be determined through the evaluator. + Flags = (MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1) ? RowMajorBit + : (MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1) ? 0 + : ( ((LhsTraits::Flags&NoPreferredStorageOrderBit) && (RhsTraits::Flags&RowMajorBit)) + || ((RhsTraits::Flags&NoPreferredStorageOrderBit) && (LhsTraits::Flags&RowMajorBit)) ) ? RowMajorBit + : NoPreferredStorageOrderBit + }; +}; + +} // end namespace internal + + +template +class Product : public ProductImpl<_Lhs,_Rhs,Option, + typename internal::product_promote_storage_type::StorageKind, + typename internal::traits<_Rhs>::StorageKind, + internal::product_type<_Lhs,_Rhs>::ret>::ret> +{ + public: + + typedef _Lhs Lhs; + typedef _Rhs Rhs; + + typedef typename ProductImpl< + Lhs, Rhs, Option, + typename internal::product_promote_storage_type::StorageKind, + typename internal::traits::StorageKind, + internal::product_type::ret>::ret>::Base Base; + EIGEN_GENERIC_PUBLIC_INTERFACE(Product) + + typedef typename internal::ref_selector::type LhsNested; + typedef typename internal::ref_selector::type RhsNested; + typedef typename internal::remove_all::type LhsNestedCleaned; + typedef typename internal::remove_all::type RhsNestedCleaned; + + EIGEN_DEVICE_FUNC Product(const Lhs& lhs, const Rhs& rhs) : m_lhs(lhs), m_rhs(rhs) + { + eigen_assert(lhs.cols() == rhs.rows() + && "invalid matrix product" + && "if you wanted a coeff-wise or a dot product use the respective explicit functions"); + } + + EIGEN_DEVICE_FUNC inline Index rows() const { return m_lhs.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_rhs.cols(); } + + EIGEN_DEVICE_FUNC const LhsNestedCleaned& lhs() const { return m_lhs; } + EIGEN_DEVICE_FUNC const RhsNestedCleaned& rhs() const { return m_rhs; } + + protected: + + LhsNested m_lhs; + RhsNested m_rhs; +}; + +namespace internal { + +template::ret> +class dense_product_base + : public internal::dense_xpr_base >::type +{}; + +/** Convertion to scalar for inner-products */ +template +class dense_product_base + : public internal::dense_xpr_base >::type +{ + typedef Product ProductXpr; + typedef typename internal::dense_xpr_base::type Base; +public: + using Base::derived; + typedef typename Base::Scalar Scalar; + + operator const Scalar() const + { + return internal::evaluator(derived()).coeff(0,0); + } +}; + +} // namespace internal + +// Generic API dispatcher +template +class ProductImpl : public internal::generic_xpr_base, MatrixXpr, StorageKind>::type +{ + public: + typedef typename internal::generic_xpr_base, MatrixXpr, StorageKind>::type Base; +}; + +template +class ProductImpl + : public internal::dense_product_base +{ + typedef Product Derived; + + public: + + typedef typename internal::dense_product_base Base; + EIGEN_DENSE_PUBLIC_INTERFACE(Derived) + protected: + enum { + IsOneByOne = (RowsAtCompileTime == 1 || RowsAtCompileTime == Dynamic) && + (ColsAtCompileTime == 1 || ColsAtCompileTime == Dynamic), + EnableCoeff = IsOneByOne || Option==LazyProduct + }; + + public: + + EIGEN_DEVICE_FUNC Scalar coeff(Index row, Index col) const + { + EIGEN_STATIC_ASSERT(EnableCoeff, THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS); + eigen_assert( (Option==LazyProduct) || (this->rows() == 1 && this->cols() == 1) ); + + return internal::evaluator(derived()).coeff(row,col); + } + + EIGEN_DEVICE_FUNC Scalar coeff(Index i) const + { + EIGEN_STATIC_ASSERT(EnableCoeff, THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS); + eigen_assert( (Option==LazyProduct) || (this->rows() == 1 && this->cols() == 1) ); + + return internal::evaluator(derived()).coeff(i); + } + + +}; + +} // end namespace Eigen + +#endif // EIGEN_PRODUCT_H diff --git a/nuparu/include/Eigen/src/Core/ProductBase.h b/nuparu/include/Eigen/src/Core/ProductBase.h deleted file mode 100644 index a494b5f8..00000000 --- a/nuparu/include/Eigen/src/Core/ProductBase.h +++ /dev/null @@ -1,278 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2009-2010 Gael Guennebaud -// -// This Source Code Form is subject to the terms of the Mozilla -// Public License v. 2.0. If a copy of the MPL was not distributed -// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef EIGEN_PRODUCTBASE_H -#define EIGEN_PRODUCTBASE_H - -namespace Eigen { - -/** \class ProductBase - * \ingroup Core_Module - * - */ - -namespace internal { -template -struct traits > -{ - typedef MatrixXpr XprKind; - typedef typename remove_all<_Lhs>::type Lhs; - typedef typename remove_all<_Rhs>::type Rhs; - typedef typename scalar_product_traits::ReturnType Scalar; - typedef typename promote_storage_type::StorageKind, - typename traits::StorageKind>::ret StorageKind; - typedef typename promote_index_type::Index, - typename traits::Index>::type Index; - enum { - RowsAtCompileTime = traits::RowsAtCompileTime, - ColsAtCompileTime = traits::ColsAtCompileTime, - MaxRowsAtCompileTime = traits::MaxRowsAtCompileTime, - MaxColsAtCompileTime = traits::MaxColsAtCompileTime, - Flags = (MaxRowsAtCompileTime==1 ? RowMajorBit : 0) - | EvalBeforeNestingBit | EvalBeforeAssigningBit | NestByRefBit, - // Note that EvalBeforeNestingBit and NestByRefBit - // are not used in practice because nested is overloaded for products - CoeffReadCost = 0 // FIXME why is it needed ? - }; -}; -} - -#define EIGEN_PRODUCT_PUBLIC_INTERFACE(Derived) \ - typedef ProductBase Base; \ - EIGEN_DENSE_PUBLIC_INTERFACE(Derived) \ - typedef typename Base::LhsNested LhsNested; \ - typedef typename Base::_LhsNested _LhsNested; \ - typedef typename Base::LhsBlasTraits LhsBlasTraits; \ - typedef typename Base::ActualLhsType ActualLhsType; \ - typedef typename Base::_ActualLhsType _ActualLhsType; \ - typedef typename Base::RhsNested RhsNested; \ - typedef typename Base::_RhsNested _RhsNested; \ - typedef typename Base::RhsBlasTraits RhsBlasTraits; \ - typedef typename Base::ActualRhsType ActualRhsType; \ - typedef typename Base::_ActualRhsType _ActualRhsType; \ - using Base::m_lhs; \ - using Base::m_rhs; - -template -class ProductBase : public MatrixBase -{ - public: - typedef MatrixBase Base; - EIGEN_DENSE_PUBLIC_INTERFACE(ProductBase) - - typedef typename Lhs::Nested LhsNested; - typedef typename internal::remove_all::type _LhsNested; - typedef internal::blas_traits<_LhsNested> LhsBlasTraits; - typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType; - typedef typename internal::remove_all::type _ActualLhsType; - typedef typename internal::traits::Scalar LhsScalar; - - typedef typename Rhs::Nested RhsNested; - typedef typename internal::remove_all::type _RhsNested; - typedef internal::blas_traits<_RhsNested> RhsBlasTraits; - typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType; - typedef typename internal::remove_all::type _ActualRhsType; - typedef typename internal::traits::Scalar RhsScalar; - - // Diagonal of a product: no need to evaluate the arguments because they are going to be evaluated only once - typedef CoeffBasedProduct FullyLazyCoeffBaseProductType; - - public: - - typedef typename Base::PlainObject PlainObject; - - ProductBase(const Lhs& a_lhs, const Rhs& a_rhs) - : m_lhs(a_lhs), m_rhs(a_rhs) - { - eigen_assert(a_lhs.cols() == a_rhs.rows() - && "invalid matrix product" - && "if you wanted a coeff-wise or a dot product use the respective explicit functions"); - } - - inline Index rows() const { return m_lhs.rows(); } - inline Index cols() const { return m_rhs.cols(); } - - template - inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); } - - template - inline void addTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(1)); } - - template - inline void subTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(-1)); } - - template - inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); } - - const _LhsNested& lhs() const { return m_lhs; } - const _RhsNested& rhs() const { return m_rhs; } - - // Implicit conversion to the nested type (trigger the evaluation of the product) - operator const PlainObject& () const - { - m_result.resize(m_lhs.rows(), m_rhs.cols()); - derived().evalTo(m_result); - return m_result; - } - - const Diagonal diagonal() const - { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); } - - template - const Diagonal diagonal() const - { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); } - - const Diagonal diagonal(Index index) const - { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs).diagonal(index); } - - // restrict coeff accessors to 1x1 expressions. No need to care about mutators here since this isnt a Lvalue expression - typename Base::CoeffReturnType coeff(Index row, Index col) const - { -#ifdef EIGEN2_SUPPORT - return lhs().row(row).cwiseProduct(rhs().col(col).transpose()).sum(); -#else - EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) - eigen_assert(this->rows() == 1 && this->cols() == 1); - Matrix result = *this; - return result.coeff(row,col); -#endif - } - - typename Base::CoeffReturnType coeff(Index i) const - { - EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) - eigen_assert(this->rows() == 1 && this->cols() == 1); - Matrix result = *this; - return result.coeff(i); - } - - const Scalar& coeffRef(Index row, Index col) const - { - EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) - eigen_assert(this->rows() == 1 && this->cols() == 1); - return derived().coeffRef(row,col); - } - - const Scalar& coeffRef(Index i) const - { - EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) - eigen_assert(this->rows() == 1 && this->cols() == 1); - return derived().coeffRef(i); - } - - protected: - - LhsNested m_lhs; - RhsNested m_rhs; - - mutable PlainObject m_result; -}; - -// here we need to overload the nested rule for products -// such that the nested type is a const reference to a plain matrix -namespace internal { -template -struct nested, N, PlainObject> -{ - typedef PlainObject const& type; -}; -} - -template -class ScaledProduct; - -// Note that these two operator* functions are not defined as member -// functions of ProductBase, because, otherwise we would have to -// define all overloads defined in MatrixBase. Furthermore, Using -// "using Base::operator*" would not work with MSVC. -// -// Also note that here we accept any compatible scalar types -template -const ScaledProduct -operator*(const ProductBase& prod, const typename Derived::Scalar& x) -{ return ScaledProduct(prod.derived(), x); } - -template -typename internal::enable_if::value, - const ScaledProduct >::type -operator*(const ProductBase& prod, const typename Derived::RealScalar& x) -{ return ScaledProduct(prod.derived(), x); } - - -template -const ScaledProduct -operator*(const typename Derived::Scalar& x,const ProductBase& prod) -{ return ScaledProduct(prod.derived(), x); } - -template -typename internal::enable_if::value, - const ScaledProduct >::type -operator*(const typename Derived::RealScalar& x,const ProductBase& prod) -{ return ScaledProduct(prod.derived(), x); } - -namespace internal { -template -struct traits > - : traits, - typename NestedProduct::_LhsNested, - typename NestedProduct::_RhsNested> > -{ - typedef typename traits::StorageKind StorageKind; -}; -} - -template -class ScaledProduct - : public ProductBase, - typename NestedProduct::_LhsNested, - typename NestedProduct::_RhsNested> -{ - public: - typedef ProductBase, - typename NestedProduct::_LhsNested, - typename NestedProduct::_RhsNested> Base; - typedef typename Base::Scalar Scalar; - typedef typename Base::PlainObject PlainObject; -// EIGEN_PRODUCT_PUBLIC_INTERFACE(ScaledProduct) - - ScaledProduct(const NestedProduct& prod, const Scalar& x) - : Base(prod.lhs(),prod.rhs()), m_prod(prod), m_alpha(x) {} - - template - inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst, Scalar(1)); } - - template - inline void addTo(Dest& dst) const { scaleAndAddTo(dst, Scalar(1)); } - - template - inline void subTo(Dest& dst) const { scaleAndAddTo(dst, Scalar(-1)); } - - template - inline void scaleAndAddTo(Dest& dst, const Scalar& a_alpha) const { m_prod.derived().scaleAndAddTo(dst,a_alpha * m_alpha); } - - const Scalar& alpha() const { return m_alpha; } - - protected: - const NestedProduct& m_prod; - Scalar m_alpha; -}; - -/** \internal - * Overloaded to perform an efficient C = (A*B).lazy() */ -template -template -Derived& MatrixBase::lazyAssign(const ProductBase& other) -{ - other.derived().evalTo(derived()); - return derived(); -} - -} // end namespace Eigen - -#endif // EIGEN_PRODUCTBASE_H diff --git a/nuparu/include/Eigen/src/Core/ProductEvaluators.h b/nuparu/include/Eigen/src/Core/ProductEvaluators.h new file mode 100644 index 00000000..794038a2 --- /dev/null +++ b/nuparu/include/Eigen/src/Core/ProductEvaluators.h @@ -0,0 +1,1061 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2006-2008 Benoit Jacob +// Copyright (C) 2008-2010 Gael Guennebaud +// Copyright (C) 2011 Jitse Niesen +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +#ifndef EIGEN_PRODUCTEVALUATORS_H +#define EIGEN_PRODUCTEVALUATORS_H + +namespace Eigen { + +namespace internal { + +/** \internal + * Evaluator of a product expression. + * Since products require special treatments to handle all possible cases, + * we simply deffer the evaluation logic to a product_evaluator class + * which offers more partial specialization possibilities. + * + * \sa class product_evaluator + */ +template +struct evaluator > + : public product_evaluator > +{ + typedef Product XprType; + typedef product_evaluator Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : Base(xpr) {} +}; + +// Catch scalar * ( A * B ) and transform it to (A*scalar) * B +// TODO we should apply that rule only if that's really helpful +template +struct evaluator_traits, const Product > > + : evaluator_traits_base, const Product > > +{ + enum { AssumeAliasing = 1 }; +}; +template +struct evaluator, const Product > > + : public evaluator,const Lhs>, Rhs, DefaultProduct> > +{ + typedef CwiseUnaryOp, const Product > XprType; + typedef evaluator,const Lhs>, Rhs, DefaultProduct> > Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + : Base(xpr.functor().m_other * xpr.nestedExpression().lhs() * xpr.nestedExpression().rhs()) + {} +}; + + +template +struct evaluator, DiagIndex> > + : public evaluator, DiagIndex> > +{ + typedef Diagonal, DiagIndex> XprType; + typedef evaluator, DiagIndex> > Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + : Base(Diagonal, DiagIndex>( + Product(xpr.nestedExpression().lhs(), xpr.nestedExpression().rhs()), + xpr.index() )) + {} +}; + + +// Helper class to perform a matrix product with the destination at hand. +// Depending on the sizes of the factors, there are different evaluation strategies +// as controlled by internal::product_type. +template< typename Lhs, typename Rhs, + typename LhsShape = typename evaluator_traits::Shape, + typename RhsShape = typename evaluator_traits::Shape, + int ProductType = internal::product_type::value> +struct generic_product_impl; + +template +struct evaluator_traits > + : evaluator_traits_base > +{ + enum { AssumeAliasing = 1 }; +}; + +template +struct evaluator_traits > + : evaluator_traits_base > +{ + enum { AssumeAliasing = 0 }; +}; + +// This is the default evaluator implementation for products: +// It creates a temporary and call generic_product_impl +template +struct product_evaluator, ProductTag, LhsShape, RhsShape> + : public evaluator::PlainObject> +{ + typedef Product XprType; + typedef typename XprType::PlainObject PlainObject; + typedef evaluator Base; + enum { + Flags = Base::Flags | EvalBeforeNestingBit + }; + + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) + : m_result(xpr.rows(), xpr.cols()) + { + ::new (static_cast(this)) Base(m_result); + +// FIXME shall we handle nested_eval here?, +// if so, then we must take care at removing the call to nested_eval in the specializations (e.g., in permutation_matrix_product, transposition_matrix_product, etc.) +// typedef typename internal::nested_eval::type LhsNested; +// typedef typename internal::nested_eval::type RhsNested; +// typedef typename internal::remove_all::type LhsNestedCleaned; +// typedef typename internal::remove_all::type RhsNestedCleaned; +// +// const LhsNested lhs(xpr.lhs()); +// const RhsNested rhs(xpr.rhs()); +// +// generic_product_impl::evalTo(m_result, lhs, rhs); + + generic_product_impl::evalTo(m_result, xpr.lhs(), xpr.rhs()); + } + +protected: + PlainObject m_result; +}; + +// Dense = Product +template< typename DstXprType, typename Lhs, typename Rhs, int Options, typename Scalar> +struct Assignment, internal::assign_op, Dense2Dense, + typename enable_if<(Options==DefaultProduct || Options==AliasFreeProduct),Scalar>::type> +{ + typedef Product SrcXprType; + static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &) + { + // FIXME shall we handle nested_eval here? + generic_product_impl::evalTo(dst, src.lhs(), src.rhs()); + } +}; + +// Dense += Product +template< typename DstXprType, typename Lhs, typename Rhs, int Options, typename Scalar> +struct Assignment, internal::add_assign_op, Dense2Dense, + typename enable_if<(Options==DefaultProduct || Options==AliasFreeProduct),Scalar>::type> +{ + typedef Product SrcXprType; + static void run(DstXprType &dst, const SrcXprType &src, const internal::add_assign_op &) + { + // FIXME shall we handle nested_eval here? + generic_product_impl::addTo(dst, src.lhs(), src.rhs()); + } +}; + +// Dense -= Product +template< typename DstXprType, typename Lhs, typename Rhs, int Options, typename Scalar> +struct Assignment, internal::sub_assign_op, Dense2Dense, + typename enable_if<(Options==DefaultProduct || Options==AliasFreeProduct),Scalar>::type> +{ + typedef Product SrcXprType; + static void run(DstXprType &dst, const SrcXprType &src, const internal::sub_assign_op &) + { + // FIXME shall we handle nested_eval here? + generic_product_impl::subTo(dst, src.lhs(), src.rhs()); + } +}; + + +// Dense ?= scalar * Product +// TODO we should apply that rule if that's really helpful +// for instance, this is not good for inner products +template< typename DstXprType, typename Lhs, typename Rhs, typename AssignFunc, typename Scalar, typename ScalarBis> +struct Assignment, + const Product >, AssignFunc, Dense2Dense, Scalar> +{ + typedef CwiseUnaryOp, + const Product > SrcXprType; + static void run(DstXprType &dst, const SrcXprType &src, const AssignFunc& func) + { + call_assignment_no_alias(dst, (src.functor().m_other * src.nestedExpression().lhs())*src.nestedExpression().rhs(), func); + } +}; + +//---------------------------------------- +// Catch "Dense ?= xpr + Product<>" expression to save one temporary +// FIXME we could probably enable these rules for any product, i.e., not only Dense and DefaultProduct + +template +struct assignment_from_xpr_plus_product +{ + typedef CwiseBinaryOp, const OtherXpr, const ProductType> SrcXprType; + static void run(DstXprType &dst, const SrcXprType &src, const Func1& func) + { + call_assignment_no_alias(dst, src.lhs(), func); + call_assignment_no_alias(dst, src.rhs(), Func2()); + } +}; + +template< typename DstXprType, typename OtherXpr, typename Lhs, typename Rhs, typename Scalar> +struct Assignment, const OtherXpr, + const Product >, internal::assign_op, Dense2Dense> + : assignment_from_xpr_plus_product, Scalar, internal::assign_op, internal::add_assign_op > +{}; +template< typename DstXprType, typename OtherXpr, typename Lhs, typename Rhs, typename Scalar> +struct Assignment, const OtherXpr, + const Product >, internal::add_assign_op, Dense2Dense> + : assignment_from_xpr_plus_product, Scalar, internal::add_assign_op, internal::add_assign_op > +{}; +template< typename DstXprType, typename OtherXpr, typename Lhs, typename Rhs, typename Scalar> +struct Assignment, const OtherXpr, + const Product >, internal::sub_assign_op, Dense2Dense> + : assignment_from_xpr_plus_product, Scalar, internal::sub_assign_op, internal::sub_assign_op > +{}; +//---------------------------------------- + +template +struct generic_product_impl +{ + template + static inline void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + dst.coeffRef(0,0) = (lhs.transpose().cwiseProduct(rhs)).sum(); + } + + template + static inline void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + dst.coeffRef(0,0) += (lhs.transpose().cwiseProduct(rhs)).sum(); + } + + template + static void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { dst.coeffRef(0,0) -= (lhs.transpose().cwiseProduct(rhs)).sum(); } +}; + + +/*********************************************************************** +* Implementation of outer dense * dense vector product +***********************************************************************/ + +// Column major result +template +EIGEN_DONT_INLINE void outer_product_selector_run(Dst& dst, const Lhs &lhs, const Rhs &rhs, const Func& func, const false_type&) +{ + evaluator rhsEval(rhs); + typename nested_eval::type actual_lhs(lhs); + // FIXME if cols is large enough, then it might be useful to make sure that lhs is sequentially stored + // FIXME not very good if rhs is real and lhs complex while alpha is real too + const Index cols = dst.cols(); + for (Index j=0; j +EIGEN_DONT_INLINE void outer_product_selector_run(Dst& dst, const Lhs &lhs, const Rhs &rhs, const Func& func, const true_type&) +{ + evaluator lhsEval(lhs); + typename nested_eval::type actual_rhs(rhs); + // FIXME if rows is large enough, then it might be useful to make sure that rhs is sequentially stored + // FIXME not very good if lhs is real and rhs complex while alpha is real too + const Index rows = dst.rows(); + for (Index i=0; i +struct generic_product_impl +{ + template struct is_row_major : internal::conditional<(int(T::Flags)&RowMajorBit), internal::true_type, internal::false_type>::type {}; + typedef typename Product::Scalar Scalar; + + // TODO it would be nice to be able to exploit our *_assign_op functors for that purpose + struct set { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() = src; } }; + struct add { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() += src; } }; + struct sub { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() -= src; } }; + struct adds { + Scalar m_scale; + explicit adds(const Scalar& s) : m_scale(s) {} + template void operator()(const Dst& dst, const Src& src) const { + dst.const_cast_derived() += m_scale * src; + } + }; + + template + static inline void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + internal::outer_product_selector_run(dst, lhs, rhs, set(), is_row_major()); + } + + template + static inline void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + internal::outer_product_selector_run(dst, lhs, rhs, add(), is_row_major()); + } + + template + static inline void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + internal::outer_product_selector_run(dst, lhs, rhs, sub(), is_row_major()); + } + + template + static inline void scaleAndAddTo(Dst& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + internal::outer_product_selector_run(dst, lhs, rhs, adds(alpha), is_row_major()); + } + +}; + + +// This base class provides default implementations for evalTo, addTo, subTo, in terms of scaleAndAddTo +template +struct generic_product_impl_base +{ + typedef typename Product::Scalar Scalar; + + template + static void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { dst.setZero(); scaleAndAddTo(dst, lhs, rhs, Scalar(1)); } + + template + static void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { scaleAndAddTo(dst,lhs, rhs, Scalar(1)); } + + template + static void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { scaleAndAddTo(dst, lhs, rhs, Scalar(-1)); } + + template + static void scaleAndAddTo(Dst& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { Derived::scaleAndAddTo(dst,lhs,rhs,alpha); } + +}; + +template +struct generic_product_impl + : generic_product_impl_base > +{ + typedef typename Product::Scalar Scalar; + enum { Side = Lhs::IsVectorAtCompileTime ? OnTheLeft : OnTheRight }; + typedef typename internal::conditional::type MatrixType; + + template + static void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + internal::gemv_dense_selector::HasUsableDirectAccess) + >::run(lhs, rhs, dst, alpha); + } +}; + +template +struct generic_product_impl +{ + typedef typename Product::Scalar Scalar; + + template + static inline void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + // Same as: dst.noalias() = lhs.lazyProduct(rhs); + // but easier on the compiler side + call_assignment_no_alias(dst, lhs.lazyProduct(rhs), internal::assign_op()); + } + + template + static inline void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + // dst.noalias() += lhs.lazyProduct(rhs); + call_assignment_no_alias(dst, lhs.lazyProduct(rhs), internal::add_assign_op()); + } + + template + static inline void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + { + // dst.noalias() -= lhs.lazyProduct(rhs); + call_assignment_no_alias(dst, lhs.lazyProduct(rhs), internal::sub_assign_op()); + } + +// template +// static inline void scaleAndAddTo(Dst& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) +// { dst.noalias() += alpha * lhs.lazyProduct(rhs); } +}; + +// This specialization enforces the use of a coefficient-based evaluation strategy +template +struct generic_product_impl + : generic_product_impl {}; + +// Case 2: Evaluate coeff by coeff +// +// This is mostly taken from CoeffBasedProduct.h +// The main difference is that we add an extra argument to the etor_product_*_impl::run() function +// for the inner dimension of the product, because evaluator object do not know their size. + +template +struct etor_product_coeff_impl; + +template +struct etor_product_packet_impl; + +template +struct product_evaluator, ProductTag, DenseShape, DenseShape> + : evaluator_base > +{ + typedef Product XprType; + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + typedef typename XprType::PacketScalar PacketScalar; + typedef typename XprType::PacketReturnType PacketReturnType; + + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) + : m_lhs(xpr.lhs()), + m_rhs(xpr.rhs()), + m_lhsImpl(m_lhs), // FIXME the creation of the evaluator objects should result in a no-op, but check that! + m_rhsImpl(m_rhs), // Moreover, they are only useful for the packet path, so we could completely disable them when not needed, + // or perhaps declare them on the fly on the packet method... We have experiment to check what's best. + m_innerDim(xpr.lhs().cols()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(NumTraits::MulCost); + EIGEN_INTERNAL_CHECK_COST_VALUE(NumTraits::AddCost); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + // Everything below here is taken from CoeffBasedProduct.h + + typedef typename internal::nested_eval::type LhsNested; + typedef typename internal::nested_eval::type RhsNested; + + typedef typename internal::remove_all::type LhsNestedCleaned; + typedef typename internal::remove_all::type RhsNestedCleaned; + + typedef evaluator LhsEtorType; + typedef evaluator RhsEtorType; + + enum { + RowsAtCompileTime = LhsNestedCleaned::RowsAtCompileTime, + ColsAtCompileTime = RhsNestedCleaned::ColsAtCompileTime, + InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(LhsNestedCleaned::ColsAtCompileTime, RhsNestedCleaned::RowsAtCompileTime), + MaxRowsAtCompileTime = LhsNestedCleaned::MaxRowsAtCompileTime, + MaxColsAtCompileTime = RhsNestedCleaned::MaxColsAtCompileTime, + + PacketSize = packet_traits::size, + + LhsCoeffReadCost = LhsEtorType::CoeffReadCost, + RhsCoeffReadCost = RhsEtorType::CoeffReadCost, + CoeffReadCost = InnerSize==0 ? NumTraits::ReadCost + : InnerSize == Dynamic ? HugeCost + : InnerSize * (NumTraits::MulCost + LhsCoeffReadCost + RhsCoeffReadCost) + + (InnerSize - 1) * NumTraits::AddCost, + + Unroll = CoeffReadCost <= EIGEN_UNROLLING_LIMIT, + + LhsFlags = LhsEtorType::Flags, + RhsFlags = RhsEtorType::Flags, + + LhsAlignment = LhsEtorType::Alignment, + RhsAlignment = RhsEtorType::Alignment, + + LhsRowMajor = LhsFlags & RowMajorBit, + RhsRowMajor = RhsFlags & RowMajorBit, + + SameType = is_same::value, + + CanVectorizeRhs = RhsRowMajor && (RhsFlags & PacketAccessBit) + && (ColsAtCompileTime == Dynamic || ((ColsAtCompileTime % PacketSize) == 0) ), + + CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit) + && (RowsAtCompileTime == Dynamic || ((RowsAtCompileTime % PacketSize) == 0) ), + + EvalToRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1 + : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0 + : (RhsRowMajor && !CanVectorizeLhs), + + Flags = ((unsigned int)(LhsFlags | RhsFlags) & HereditaryBits & ~RowMajorBit) + | (EvalToRowMajor ? RowMajorBit : 0) + // TODO enable vectorization for mixed types + | (SameType && (CanVectorizeLhs || CanVectorizeRhs) ? PacketAccessBit : 0) + | (XprType::IsVectorAtCompileTime ? LinearAccessBit : 0), + + LhsOuterStrideBytes = int(LhsNestedCleaned::OuterStrideAtCompileTime) * int(sizeof(typename LhsNestedCleaned::Scalar)), + RhsOuterStrideBytes = int(RhsNestedCleaned::OuterStrideAtCompileTime) * int(sizeof(typename RhsNestedCleaned::Scalar)), + + Alignment = CanVectorizeLhs ? (LhsOuterStrideBytes<0 || (int(LhsOuterStrideBytes) % EIGEN_PLAIN_ENUM_MAX(1,LhsAlignment))!=0 ? 0 : LhsAlignment) + : CanVectorizeRhs ? (RhsOuterStrideBytes<0 || (int(RhsOuterStrideBytes) % EIGEN_PLAIN_ENUM_MAX(1,RhsAlignment))!=0 ? 0 : RhsAlignment) + : 0, + + /* CanVectorizeInner deserves special explanation. It does not affect the product flags. It is not used outside + * of Product. If the Product itself is not a packet-access expression, there is still a chance that the inner + * loop of the product might be vectorized. This is the meaning of CanVectorizeInner. Since it doesn't affect + * the Flags, it is safe to make this value depend on ActualPacketAccessBit, that doesn't affect the ABI. + */ + CanVectorizeInner = SameType + && LhsRowMajor + && (!RhsRowMajor) + && (LhsFlags & RhsFlags & ActualPacketAccessBit) + && (InnerSize % packet_traits::size == 0) + }; + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CoeffReturnType coeff(Index row, Index col) const + { + return (m_lhs.row(row).transpose().cwiseProduct( m_rhs.col(col) )).sum(); + } + + /* Allow index-based non-packet access. It is impossible though to allow index-based packed access, + * which is why we don't set the LinearAccessBit. + * TODO: this seems possible when the result is a vector + */ + EIGEN_DEVICE_FUNC const CoeffReturnType coeff(Index index) const + { + const Index row = RowsAtCompileTime == 1 ? 0 : index; + const Index col = RowsAtCompileTime == 1 ? index : 0; + return (m_lhs.row(row).transpose().cwiseProduct( m_rhs.col(col) )).sum(); + } + + template + const PacketType packet(Index row, Index col) const + { + PacketType res; + typedef etor_product_packet_impl PacketImpl; + PacketImpl::run(row, col, m_lhsImpl, m_rhsImpl, m_innerDim, res); + return res; + } + + template + const PacketType packet(Index index) const + { + const Index row = RowsAtCompileTime == 1 ? 0 : index; + const Index col = RowsAtCompileTime == 1 ? index : 0; + return packet(row,col); + } + +protected: + const LhsNested m_lhs; + const RhsNested m_rhs; + + LhsEtorType m_lhsImpl; + RhsEtorType m_rhsImpl; + + // TODO: Get rid of m_innerDim if known at compile time + Index m_innerDim; +}; + +template +struct product_evaluator, LazyCoeffBasedProductMode, DenseShape, DenseShape> + : product_evaluator, CoeffBasedProductMode, DenseShape, DenseShape> +{ + typedef Product XprType; + typedef Product BaseProduct; + typedef product_evaluator Base; + enum { + Flags = Base::Flags | EvalBeforeNestingBit + }; + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) + : Base(BaseProduct(xpr.lhs(),xpr.rhs())) + {} +}; + +/**************************************** +*** Coeff based product, Packet path *** +****************************************/ + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index innerDim, Packet &res) + { + etor_product_packet_impl::run(row, col, lhs, rhs, innerDim, res); + res = pmadd(pset1(lhs.coeff(row, UnrollingIndex-1)), rhs.template packet(UnrollingIndex-1, col), res); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index innerDim, Packet &res) + { + etor_product_packet_impl::run(row, col, lhs, rhs, innerDim, res); + res = pmadd(lhs.template packet(row, UnrollingIndex-1), pset1(rhs.coeff(UnrollingIndex-1, col)), res); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index /*innerDim*/, Packet &res) + { + res = pmul(pset1(lhs.coeff(row, 0)),rhs.template packet(0, col)); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index /*innerDim*/, Packet &res) + { + res = pmul(lhs.template packet(row, 0), pset1(rhs.coeff(0, col))); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, Index /*innerDim*/, Packet &res) + { + res = pset1(0); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, Index /*innerDim*/, Packet &res) + { + res = pset1(0); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index innerDim, Packet& res) + { + res = pset1(0); + for(Index i = 0; i < innerDim; ++i) + res = pmadd(pset1(lhs.coeff(row, i)), rhs.template packet(i, col), res); + } +}; + +template +struct etor_product_packet_impl +{ + static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index innerDim, Packet& res) + { + res = pset1(0); + for(Index i = 0; i < innerDim; ++i) + res = pmadd(lhs.template packet(row, i), pset1(rhs.coeff(i, col)), res); + } +}; + + +/*************************************************************************** +* Triangular products +***************************************************************************/ +template +struct triangular_product_impl; + +template +struct generic_product_impl + : generic_product_impl_base > +{ + typedef typename Product::Scalar Scalar; + + template + static void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + triangular_product_impl + ::run(dst, lhs.nestedExpression(), rhs, alpha); + } +}; + +template +struct generic_product_impl +: generic_product_impl_base > +{ + typedef typename Product::Scalar Scalar; + + template + static void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + triangular_product_impl::run(dst, lhs, rhs.nestedExpression(), alpha); + } +}; + + +/*************************************************************************** +* SelfAdjoint products +***************************************************************************/ +template +struct selfadjoint_product_impl; + +template +struct generic_product_impl + : generic_product_impl_base > +{ + typedef typename Product::Scalar Scalar; + + template + static void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + selfadjoint_product_impl::run(dst, lhs.nestedExpression(), rhs, alpha); + } +}; + +template +struct generic_product_impl +: generic_product_impl_base > +{ + typedef typename Product::Scalar Scalar; + + template + static void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + { + selfadjoint_product_impl::run(dst, lhs, rhs.nestedExpression(), alpha); + } +}; + + +/*************************************************************************** +* Diagonal products +***************************************************************************/ + +template +struct diagonal_product_evaluator_base + : evaluator_base +{ + typedef typename scalar_product_traits::ReturnType Scalar; +public: + enum { + CoeffReadCost = NumTraits::MulCost + evaluator::CoeffReadCost + evaluator::CoeffReadCost, + + MatrixFlags = evaluator::Flags, + DiagFlags = evaluator::Flags, + _StorageOrder = MatrixFlags & RowMajorBit ? RowMajor : ColMajor, + _ScalarAccessOnDiag = !((int(_StorageOrder) == ColMajor && int(ProductOrder) == OnTheLeft) + ||(int(_StorageOrder) == RowMajor && int(ProductOrder) == OnTheRight)), + _SameTypes = is_same::value, + // FIXME currently we need same types, but in the future the next rule should be the one + //_Vectorizable = bool(int(MatrixFlags)&PacketAccessBit) && ((!_PacketOnDiag) || (_SameTypes && bool(int(DiagFlags)&PacketAccessBit))), + _Vectorizable = bool(int(MatrixFlags)&PacketAccessBit) && _SameTypes && (_ScalarAccessOnDiag || (bool(int(DiagFlags)&PacketAccessBit))), + _LinearAccessMask = (MatrixType::RowsAtCompileTime==1 || MatrixType::ColsAtCompileTime==1) ? LinearAccessBit : 0, + Flags = ((HereditaryBits|_LinearAccessMask) & (unsigned int)(MatrixFlags)) | (_Vectorizable ? PacketAccessBit : 0), + Alignment = evaluator::Alignment + }; + + diagonal_product_evaluator_base(const MatrixType &mat, const DiagonalType &diag) + : m_diagImpl(diag), m_matImpl(mat) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(NumTraits::MulCost); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index idx) const + { + return m_diagImpl.coeff(idx) * m_matImpl.coeff(idx); + } + +protected: + template + EIGEN_STRONG_INLINE PacketType packet_impl(Index row, Index col, Index id, internal::true_type) const + { + return internal::pmul(m_matImpl.template packet(row, col), + internal::pset1(m_diagImpl.coeff(id))); + } + + template + EIGEN_STRONG_INLINE PacketType packet_impl(Index row, Index col, Index id, internal::false_type) const + { + enum { + InnerSize = (MatrixType::Flags & RowMajorBit) ? MatrixType::ColsAtCompileTime : MatrixType::RowsAtCompileTime, + DiagonalPacketLoadMode = EIGEN_PLAIN_ENUM_MIN(LoadMode,((InnerSize%16) == 0) ? int(Aligned16) : int(evaluator::Alignment)) // FIXME hardcoded 16!! + }; + return internal::pmul(m_matImpl.template packet(row, col), + m_diagImpl.template packet(id)); + } + + evaluator m_diagImpl; + evaluator m_matImpl; +}; + +// diagonal * dense +template +struct product_evaluator, ProductTag, DiagonalShape, DenseShape> + : diagonal_product_evaluator_base, OnTheLeft> +{ + typedef diagonal_product_evaluator_base, OnTheLeft> Base; + using Base::m_diagImpl; + using Base::m_matImpl; + using Base::coeff; + typedef typename Base::Scalar Scalar; + + typedef Product XprType; + typedef typename XprType::PlainObject PlainObject; + + enum { + StorageOrder = int(Rhs::Flags) & RowMajorBit ? RowMajor : ColMajor + }; + + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) + : Base(xpr.rhs(), xpr.lhs().diagonal()) + { + } + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index row, Index col) const + { + return m_diagImpl.coeff(row) * m_matImpl.coeff(row, col); + } + +#ifndef __CUDACC__ + template + EIGEN_STRONG_INLINE PacketType packet(Index row, Index col) const + { + // FIXME: NVCC used to complain about the template keyword, but we have to check whether this is still the case. + // See also similar calls below. + return this->template packet_impl(row,col, row, + typename internal::conditional::type()); + } + + template + EIGEN_STRONG_INLINE PacketType packet(Index idx) const + { + return packet(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx); + } +#endif +}; + +// dense * diagonal +template +struct product_evaluator, ProductTag, DenseShape, DiagonalShape> + : diagonal_product_evaluator_base, OnTheRight> +{ + typedef diagonal_product_evaluator_base, OnTheRight> Base; + using Base::m_diagImpl; + using Base::m_matImpl; + using Base::coeff; + typedef typename Base::Scalar Scalar; + + typedef Product XprType; + typedef typename XprType::PlainObject PlainObject; + + enum { StorageOrder = int(Lhs::Flags) & RowMajorBit ? RowMajor : ColMajor }; + + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) + : Base(xpr.lhs(), xpr.rhs().diagonal()) + { + } + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index row, Index col) const + { + return m_matImpl.coeff(row, col) * m_diagImpl.coeff(col); + } + +#ifndef __CUDACC__ + template + EIGEN_STRONG_INLINE PacketType packet(Index row, Index col) const + { + return this->template packet_impl(row,col, col, + typename internal::conditional::type()); + } + + template + EIGEN_STRONG_INLINE PacketType packet(Index idx) const + { + return packet(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx); + } +#endif +}; + +/*************************************************************************** +* Products with permutation matrices +***************************************************************************/ + +/** \internal + * \class permutation_matrix_product + * Internal helper class implementing the product between a permutation matrix and a matrix. + * This class is specialized for DenseShape below and for SparseShape in SparseCore/SparsePermutation.h + */ +template +struct permutation_matrix_product; + +template +struct permutation_matrix_product +{ + typedef typename nested_eval::type MatrixType; + typedef typename remove_all::type MatrixTypeCleaned; + + template + static inline void run(Dest& dst, const PermutationType& perm, const ExpressionType& xpr) + { + MatrixType mat(xpr); + const Index n = Side==OnTheLeft ? mat.rows() : mat.cols(); + // FIXME we need an is_same for expression that is not sensitive to constness. For instance + // is_same_xpr, Block >::value should be true. + //if(is_same::value && extract_data(dst) == extract_data(mat)) + if(is_same_dense(dst, mat)) + { + // apply the permutation inplace + Matrix mask(perm.size()); + mask.fill(false); + Index r = 0; + while(r < perm.size()) + { + // search for the next seed + while(r=perm.size()) + break; + // we got one, let's follow it until we are back to the seed + Index k0 = r++; + Index kPrev = k0; + mask.coeffRef(k0) = true; + for(Index k=perm.indices().coeff(k0); k!=k0; k=perm.indices().coeff(k)) + { + Block(dst, k) + .swap(Block + (dst,((Side==OnTheLeft) ^ Transposed) ? k0 : kPrev)); + + mask.coeffRef(k) = true; + kPrev = k; + } + } + } + else + { + for(Index i = 0; i < n; ++i) + { + Block + (dst, ((Side==OnTheLeft) ^ Transposed) ? perm.indices().coeff(i) : i) + + = + + Block + (mat, ((Side==OnTheRight) ^ Transposed) ? perm.indices().coeff(i) : i); + } + } + } +}; + +template +struct generic_product_impl +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Rhs& rhs) + { + permutation_matrix_product::run(dst, lhs, rhs); + } +}; + +template +struct generic_product_impl +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Rhs& rhs) + { + permutation_matrix_product::run(dst, rhs, lhs); + } +}; + +template +struct generic_product_impl, Rhs, PermutationShape, MatrixShape, ProductTag> +{ + template + static void evalTo(Dest& dst, const Inverse& lhs, const Rhs& rhs) + { + permutation_matrix_product::run(dst, lhs.nestedExpression(), rhs); + } +}; + +template +struct generic_product_impl, MatrixShape, PermutationShape, ProductTag> +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Inverse& rhs) + { + permutation_matrix_product::run(dst, rhs.nestedExpression(), lhs); + } +}; + + +/*************************************************************************** +* Products with transpositions matrices +***************************************************************************/ + +// FIXME could we unify Transpositions and Permutation into a single "shape"?? + +/** \internal + * \class transposition_matrix_product + * Internal helper class implementing the product between a permutation matrix and a matrix. + */ +template +struct transposition_matrix_product +{ + typedef typename nested_eval::type MatrixType; + typedef typename remove_all::type MatrixTypeCleaned; + + template + static inline void run(Dest& dst, const TranspositionType& tr, const ExpressionType& xpr) + { + MatrixType mat(xpr); + typedef typename TranspositionType::StorageIndex StorageIndex; + const Index size = tr.size(); + StorageIndex j = 0; + + if(!(is_same::value && extract_data(dst) == extract_data(mat))) + dst = mat; + + for(Index k=(Transposed?size-1:0) ; Transposed?k>=0:k +struct generic_product_impl +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Rhs& rhs) + { + transposition_matrix_product::run(dst, lhs, rhs); + } +}; + +template +struct generic_product_impl +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Rhs& rhs) + { + transposition_matrix_product::run(dst, rhs, lhs); + } +}; + + +template +struct generic_product_impl, Rhs, TranspositionsShape, MatrixShape, ProductTag> +{ + template + static void evalTo(Dest& dst, const Transpose& lhs, const Rhs& rhs) + { + transposition_matrix_product::run(dst, lhs.nestedExpression(), rhs); + } +}; + +template +struct generic_product_impl, MatrixShape, TranspositionsShape, ProductTag> +{ + template + static void evalTo(Dest& dst, const Lhs& lhs, const Transpose& rhs) + { + transposition_matrix_product::run(dst, rhs.nestedExpression(), lhs); + } +}; + +} // end namespace internal + +} // end namespace Eigen + +#endif // EIGEN_PRODUCT_EVALUATORS_H diff --git a/nuparu/include/Eigen/src/Core/Random.h b/nuparu/include/Eigen/src/Core/Random.h index 480fea40..02038e9e 100644 --- a/nuparu/include/Eigen/src/Core/Random.h +++ b/nuparu/include/Eigen/src/Core/Random.h @@ -28,12 +28,18 @@ struct functor_traits > /** \returns a random matrix expression * + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. + * * The parameters \a rows and \a cols are the number of rows and of columns of * the returned matrix. Must be compatible with this MatrixBase type. * + * \not_reentrant + * * This variant is meant to be used for dynamic-size matrix types. For fixed-size types, * it is redundant to pass \a rows and \a cols as arguments, so Random() should be used * instead. + * * * Example: \include MatrixBase_random_int_int.cpp * Output: \verbinclude MatrixBase_random_int_int.out @@ -41,22 +47,28 @@ struct functor_traits > * This expression has the "evaluate before nesting" flag so that it will be evaluated into * a temporary matrix whenever it is nested in a larger expression. This prevents unexpected * behavior with expressions involving random matrices. + * + * See DenseBase::NullaryExpr(Index, const CustomNullaryOp&) for an example using C++11 random generators. * - * \sa MatrixBase::setRandom(), MatrixBase::Random(Index), MatrixBase::Random() + * \sa DenseBase::setRandom(), DenseBase::Random(Index), DenseBase::Random() */ template -inline const CwiseNullaryOp::Scalar>, Derived> +inline const typename DenseBase::RandomReturnType DenseBase::Random(Index rows, Index cols) { return NullaryExpr(rows, cols, internal::scalar_random_op()); } /** \returns a random vector expression + * + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. * * The parameter \a size is the size of the returned vector. * Must be compatible with this MatrixBase type. * * \only_for_vectors + * \not_reentrant * * This variant is meant to be used for dynamic-size vector types. For fixed-size types, * it is redundant to pass \a size as argument, so Random() should be used @@ -69,10 +81,10 @@ DenseBase::Random(Index rows, Index cols) * a temporary vector whenever it is nested in a larger expression. This prevents unexpected * behavior with expressions involving random matrices. * - * \sa MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random() + * \sa DenseBase::setRandom(), DenseBase::Random(Index,Index), DenseBase::Random() */ template -inline const CwiseNullaryOp::Scalar>, Derived> +inline const typename DenseBase::RandomReturnType DenseBase::Random(Index size) { return NullaryExpr(size, internal::scalar_random_op()); @@ -80,6 +92,9 @@ DenseBase::Random(Index size) /** \returns a fixed-size random matrix or vector expression * + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. + * * This variant is only for fixed-size MatrixBase types. For dynamic-size types, you * need to use the variants taking size arguments. * @@ -89,11 +104,13 @@ DenseBase::Random(Index size) * This expression has the "evaluate before nesting" flag so that it will be evaluated into * a temporary matrix whenever it is nested in a larger expression. This prevents unexpected * behavior with expressions involving random matrices. + * + * \not_reentrant * - * \sa MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random(Index) + * \sa DenseBase::setRandom(), DenseBase::Random(Index,Index), DenseBase::Random(Index) */ template -inline const CwiseNullaryOp::Scalar>, Derived> +inline const typename DenseBase::RandomReturnType DenseBase::Random() { return NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_random_op()); @@ -101,6 +118,11 @@ DenseBase::Random() /** Sets all coefficients in this expression to random values. * + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. + * + * \not_reentrant + * * Example: \include MatrixBase_setRandom.cpp * Output: \verbinclude MatrixBase_setRandom.out * @@ -114,12 +136,16 @@ inline Derived& DenseBase::setRandom() /** Resizes to the given \a newSize, and sets all coefficients in this expression to random values. * + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. + * * \only_for_vectors + * \not_reentrant * * Example: \include Matrix_setRandom_int.cpp * Output: \verbinclude Matrix_setRandom_int.out * - * \sa MatrixBase::setRandom(), setRandom(Index,Index), class CwiseNullaryOp, MatrixBase::Random() + * \sa DenseBase::setRandom(), setRandom(Index,Index), class CwiseNullaryOp, DenseBase::Random() */ template EIGEN_STRONG_INLINE Derived& @@ -131,19 +157,24 @@ PlainObjectBase::setRandom(Index newSize) /** Resizes to the given size, and sets all coefficients in this expression to random values. * - * \param nbRows the new number of rows - * \param nbCols the new number of columns + * Numbers are uniformly spread through their whole definition range for integer types, + * and in the [-1:1] range for floating point scalar types. + * + * \not_reentrant + * + * \param rows the new number of rows + * \param cols the new number of columns * * Example: \include Matrix_setRandom_int_int.cpp * Output: \verbinclude Matrix_setRandom_int_int.out * - * \sa MatrixBase::setRandom(), setRandom(Index), class CwiseNullaryOp, MatrixBase::Random() + * \sa DenseBase::setRandom(), setRandom(Index), class CwiseNullaryOp, DenseBase::Random() */ template EIGEN_STRONG_INLINE Derived& -PlainObjectBase::setRandom(Index nbRows, Index nbCols) +PlainObjectBase::setRandom(Index rows, Index cols) { - resize(nbRows, nbCols); + resize(rows, cols); return setRandom(); } diff --git a/nuparu/include/Eigen/src/Core/Redux.h b/nuparu/include/Eigen/src/Core/Redux.h index 50548fa9..d170cae2 100644 --- a/nuparu/include/Eigen/src/Core/Redux.h +++ b/nuparu/include/Eigen/src/Core/Redux.h @@ -50,21 +50,34 @@ struct redux_traits public: enum { - Cost = ( Derived::SizeAtCompileTime == Dynamic - || Derived::CoeffReadCost == Dynamic - || (Derived::SizeAtCompileTime!=1 && functor_traits::Cost == Dynamic) - ) ? Dynamic - : Derived::SizeAtCompileTime * Derived::CoeffReadCost - + (Derived::SizeAtCompileTime-1) * functor_traits::Cost, + Cost = Derived::SizeAtCompileTime == Dynamic ? HugeCost + : Derived::SizeAtCompileTime * Derived::CoeffReadCost + (Derived::SizeAtCompileTime-1) * functor_traits::Cost, UnrollingLimit = EIGEN_UNROLLING_LIMIT * (int(Traversal) == int(DefaultTraversal) ? 1 : int(PacketSize)) }; public: enum { - Unrolling = Cost != Dynamic && Cost <= UnrollingLimit - ? CompleteUnrolling - : NoUnrolling + Unrolling = Cost <= UnrollingLimit ? CompleteUnrolling : NoUnrolling }; + +#ifdef EIGEN_DEBUG_ASSIGN + static void debug() + { + std::cerr << "Xpr: " << typeid(typename Derived::XprType).name() << std::endl; + std::cerr.setf(std::ios::hex, std::ios::basefield); + EIGEN_DEBUG_VAR(Derived::Flags) + std::cerr.unsetf(std::ios::hex); + EIGEN_DEBUG_VAR(InnerMaxSize) + EIGEN_DEBUG_VAR(PacketSize) + EIGEN_DEBUG_VAR(MightVectorize) + EIGEN_DEBUG_VAR(MayLinearVectorize) + EIGEN_DEBUG_VAR(MaySliceVectorize) + EIGEN_DEBUG_VAR(Traversal) + EIGEN_DEBUG_VAR(UnrollingLimit) + EIGEN_DEBUG_VAR(Unrolling) + std::cerr << std::endl; + } +#endif }; /*************************************************************************** @@ -82,6 +95,7 @@ struct redux_novec_unroller typedef typename Derived::Scalar Scalar; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func& func) { return func(redux_novec_unroller::run(mat,func), @@ -99,6 +113,7 @@ struct redux_novec_unroller typedef typename Derived::Scalar Scalar; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func&) { return mat.coeffByOuterInner(outer, inner); @@ -112,6 +127,7 @@ template struct redux_novec_unroller { typedef typename Derived::Scalar Scalar; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Scalar run(const Derived&, const Func&) { return Scalar(); } }; @@ -143,7 +159,7 @@ struct redux_vec_unroller index = Start * packet_traits::size, outer = index / int(Derived::InnerSizeAtCompileTime), inner = index % int(Derived::InnerSizeAtCompileTime), - alignment = (Derived::Flags & AlignedBit) ? Aligned : Unaligned + alignment = Derived::Alignment }; typedef typename Derived::Scalar Scalar; @@ -151,7 +167,7 @@ struct redux_vec_unroller static EIGEN_STRONG_INLINE PacketScalar run(const Derived &mat, const Func&) { - return mat.template packetByOuterInner(outer, inner); + return mat.template packetByOuterInner(outer, inner); } }; @@ -169,8 +185,8 @@ template struct redux_impl { typedef typename Derived::Scalar Scalar; - typedef typename Derived::Index Index; - static EIGEN_STRONG_INLINE Scalar run(const Derived& mat, const Func& func) + EIGEN_DEVICE_FUNC + static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func& func) { eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix"); Scalar res; @@ -194,18 +210,18 @@ struct redux_impl { typedef typename Derived::Scalar Scalar; typedef typename packet_traits::type PacketScalar; - typedef typename Derived::Index Index; - static Scalar run(const Derived& mat, const Func& func) + static Scalar run(const Derived &mat, const Func& func) { const Index size = mat.size(); - eigen_assert(size && "you are using an empty matrix"); + const Index packetSize = packet_traits::size; - const Index alignedStart = internal::first_aligned(mat); + const int packetAlignment = unpacket_traits::alignment; enum { - alignment = bool(Derived::Flags & DirectAccessBit) || bool(Derived::Flags & AlignedBit) - ? Aligned : Unaligned + alignment0 = (bool(Derived::Flags & DirectAccessBit) && bool(packet_traits::AlignedOnScalar)) ? int(packetAlignment) : int(Unaligned), + alignment = EIGEN_PLAIN_ENUM_MAX(alignment0, Derived::Alignment) }; + const Index alignedStart = internal::first_default_aligned(mat.nestedExpression()); const Index alignedSize2 = ((size-alignedStart)/(2*packetSize))*(2*packetSize); const Index alignedSize = ((size-alignedStart)/(packetSize))*(packetSize); const Index alignedEnd2 = alignedStart + alignedSize2; @@ -213,19 +229,19 @@ struct redux_impl Scalar res; if(alignedSize) { - PacketScalar packet_res0 = mat.template packet(alignedStart); + PacketScalar packet_res0 = mat.template packet(alignedStart); if(alignedSize>packetSize) // we have at least two packets to partly unroll the loop { - PacketScalar packet_res1 = mat.template packet(alignedStart+packetSize); + PacketScalar packet_res1 = mat.template packet(alignedStart+packetSize); for(Index index = alignedStart + 2*packetSize; index < alignedEnd2; index += 2*packetSize) { - packet_res0 = func.packetOp(packet_res0, mat.template packet(index)); - packet_res1 = func.packetOp(packet_res1, mat.template packet(index+packetSize)); + packet_res0 = func.packetOp(packet_res0, mat.template packet(index)); + packet_res1 = func.packetOp(packet_res1, mat.template packet(index+packetSize)); } packet_res0 = func.packetOp(packet_res0,packet_res1); if(alignedEnd>alignedEnd2) - packet_res0 = func.packetOp(packet_res0, mat.template packet(alignedEnd2)); + packet_res0 = func.packetOp(packet_res0, mat.template packet(alignedEnd2)); } res = func.predux(packet_res0); @@ -247,14 +263,14 @@ struct redux_impl } }; -template -struct redux_impl +// NOTE: for SliceVectorizedTraversal we simply bypass unrolling +template +struct redux_impl { typedef typename Derived::Scalar Scalar; - typedef typename packet_traits::type PacketScalar; - typedef typename Derived::Index Index; + typedef typename packet_traits::type PacketType; - static Scalar run(const Derived& mat, const Func& func) + EIGEN_DEVICE_FUNC static Scalar run(const Derived &mat, const Func& func) { eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix"); const Index innerSize = mat.innerSize(); @@ -266,10 +282,10 @@ struct redux_impl Scalar res; if(packetedInnerSize) { - PacketScalar packet_res = mat.template packet(0,0); + PacketType packet_res = mat.template packet(0,0); for(Index j=0; j(j,i)); + packet_res = func.packetOp(packet_res, mat.template packetByOuterInner(j,i)); res = func.predux(packet_res); for(Index j=0; j Size = Derived::SizeAtCompileTime, VectorizedSize = (Size / PacketSize) * PacketSize }; - static EIGEN_STRONG_INLINE Scalar run(const Derived& mat, const Func& func) + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func& func) { eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix"); - Scalar res = func.predux(redux_vec_unroller::run(mat,func)); - if (VectorizedSize != Size) - res = func(res,redux_novec_unroller::run(mat,func)); - return res; + if (VectorizedSize > 0) { + Scalar res = func.predux(redux_vec_unroller::run(mat,func)); + if (VectorizedSize != Size) + res = func(res,redux_novec_unroller::run(mat,func)); + return res; + } + else { + return redux_novec_unroller::run(mat,func); + } } }; +// evaluator adaptor +template +class redux_evaluator +{ +public: + typedef _XprType XprType; + EIGEN_DEVICE_FUNC explicit redux_evaluator(const XprType &xpr) : m_evaluator(xpr), m_xpr(xpr) {} + + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + typedef typename XprType::PacketScalar PacketScalar; + typedef typename XprType::PacketReturnType PacketReturnType; + + enum { + MaxRowsAtCompileTime = XprType::MaxRowsAtCompileTime, + MaxColsAtCompileTime = XprType::MaxColsAtCompileTime, + // TODO we should not remove DirectAccessBit and rather find an elegant way to query the alignment offset at runtime from the evaluator + Flags = evaluator::Flags & ~DirectAccessBit, + IsRowMajor = XprType::IsRowMajor, + SizeAtCompileTime = XprType::SizeAtCompileTime, + InnerSizeAtCompileTime = XprType::InnerSizeAtCompileTime, + CoeffReadCost = evaluator::CoeffReadCost, + Alignment = evaluator::Alignment + }; + + EIGEN_DEVICE_FUNC Index rows() const { return m_xpr.rows(); } + EIGEN_DEVICE_FUNC Index cols() const { return m_xpr.cols(); } + EIGEN_DEVICE_FUNC Index size() const { return m_xpr.size(); } + EIGEN_DEVICE_FUNC Index innerSize() const { return m_xpr.innerSize(); } + EIGEN_DEVICE_FUNC Index outerSize() const { return m_xpr.outerSize(); } + + EIGEN_DEVICE_FUNC + CoeffReturnType coeff(Index row, Index col) const + { return m_evaluator.coeff(row, col); } + + EIGEN_DEVICE_FUNC + CoeffReturnType coeff(Index index) const + { return m_evaluator.coeff(index); } + + template + PacketReturnType packet(Index row, Index col) const + { return m_evaluator.template packet(row, col); } + + template + PacketReturnType packet(Index index) const + { return m_evaluator.template packet(index); } + + EIGEN_DEVICE_FUNC + CoeffReturnType coeffByOuterInner(Index outer, Index inner) const + { return m_evaluator.coeff(IsRowMajor ? outer : inner, IsRowMajor ? inner : outer); } + + template + PacketReturnType packetByOuterInner(Index outer, Index inner) const + { return m_evaluator.template packet(IsRowMajor ? outer : inner, IsRowMajor ? inner : outer); } + + const XprType & nestedExpression() const { return m_xpr; } + +protected: + internal::evaluator m_evaluator; + const XprType &m_xpr; +}; + } // end namespace internal /*************************************************************************** @@ -316,18 +399,21 @@ struct redux_impl /** \returns the result of a full redux operation on the whole matrix or vector using \a func * * The template parameter \a BinaryOp is the type of the functor \a func which must be - * an associative operator. Both current STL and TR1 functor styles are handled. + * an associative operator. Both current C++98 and C++11 functor styles are handled. * * \sa DenseBase::sum(), DenseBase::minCoeff(), DenseBase::maxCoeff(), MatrixBase::colwise(), MatrixBase::rowwise() */ template template -EIGEN_STRONG_INLINE typename internal::result_of::Scalar)>::type +typename internal::traits::Scalar DenseBase::redux(const Func& func) const { - typedef typename internal::remove_all::type ThisNested; - return internal::redux_impl - ::run(derived(), func); + eigen_assert(this->rows()>0 && this->cols()>0 && "you are using an empty matrix"); + + typedef typename internal::redux_evaluator ThisEvaluator; + ThisEvaluator thisEval(derived()); + + return internal::redux_impl::run(thisEval, func); } /** \returns the minimum of all coefficients of \c *this. @@ -337,7 +423,7 @@ template EIGEN_STRONG_INLINE typename internal::traits::Scalar DenseBase::minCoeff() const { - return this->redux(Eigen::internal::scalar_min_op()); + return derived().redux(Eigen::internal::scalar_min_op()); } /** \returns the maximum of all coefficients of \c *this. @@ -347,7 +433,7 @@ template EIGEN_STRONG_INLINE typename internal::traits::Scalar DenseBase::maxCoeff() const { - return this->redux(Eigen::internal::scalar_max_op()); + return derived().redux(Eigen::internal::scalar_max_op()); } /** \returns the sum of all coefficients of *this @@ -360,7 +446,7 @@ DenseBase::sum() const { if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0)) return Scalar(0); - return this->redux(Eigen::internal::scalar_sum_op()); + return derived().redux(Eigen::internal::scalar_sum_op()); } /** \returns the mean of all coefficients of *this @@ -371,7 +457,7 @@ template EIGEN_STRONG_INLINE typename internal::traits::Scalar DenseBase::mean() const { - return Scalar(this->redux(Eigen::internal::scalar_sum_op())) / Scalar(this->size()); + return Scalar(derived().redux(Eigen::internal::scalar_sum_op())) / Scalar(this->size()); } /** \returns the product of all coefficients of *this @@ -387,7 +473,7 @@ DenseBase::prod() const { if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0)) return Scalar(1); - return this->redux(Eigen::internal::scalar_product_op()); + return derived().redux(Eigen::internal::scalar_product_op()); } /** \returns the trace of \c *this, i.e. the sum of the coefficients on the main diagonal. diff --git a/nuparu/include/Eigen/src/Core/Ref.h b/nuparu/include/Eigen/src/Core/Ref.h index aba795bd..61de5ed1 100644 --- a/nuparu/include/Eigen/src/Core/Ref.h +++ b/nuparu/include/Eigen/src/Core/Ref.h @@ -12,24 +12,20 @@ namespace Eigen { -template class RefBase; -template,OuterStride<> >::type > class Ref; - /** \class Ref * \ingroup Core_Module * - * \brief A matrix or vector expression mapping an existing expressions + * \brief A matrix or vector expression mapping an existing expression * * \tparam PlainObjectType the equivalent matrix type of the mapped data - * \tparam Options specifies whether the pointer is \c #Aligned, or \c #Unaligned. + * \tparam MapOptions specifies the pointer alignment in bytes. It can be: \c #Aligned128, , \c #Aligned64, \c #Aligned32, \c #Aligned16, \c #Aligned8 or \c #Unaligned. * The default is \c #Unaligned. * \tparam StrideType optionally specifies strides. By default, Ref implies a contiguous storage along the inner dimension (inner stride==1), - * but accept a variable outer stride (leading dimension). + * but accepts a variable outer stride (leading dimension). * This can be overridden by specifying strides. * The type passed here must be a specialization of the Stride template, see examples below. * - * This class permits to write non template functions taking Eigen's object as parameters while limiting the number of copies. + * This class provides a way to write non-template functions taking Eigen objects as parameters while limiting the number of copies. * A Ref<> object can represent either a const expression or a l-value: * \code * // in-out argument: @@ -39,10 +35,10 @@ template& x); * \endcode * - * In the in-out case, the input argument must satisfies the constraints of the actual Ref<> type, otherwise a compilation issue will be triggered. + * In the in-out case, the input argument must satisfy the constraints of the actual Ref<> type, otherwise a compilation issue will be triggered. * By default, a Ref can reference any dense vector expression of float having a contiguous memory layout. - * Likewise, a Ref can reference any column major dense matrix expression of float whose column's elements are contiguously stored with - * the possibility to have a constant space inbetween each column, i.e.: the inner stride mmust be equal to 1, but the outer-stride (or leading dimension), + * Likewise, a Ref can reference any column-major dense matrix expression of float whose column's elements are contiguously stored with + * the possibility to have a constant space in-between each column, i.e. the inner stride must be equal to 1, but the outer stride (or leading dimension) * can be greater than the number of rows. * * In the const case, if the input expression does not match the above requirement, then it is evaluated into a temporary before being passed to the function. @@ -52,21 +48,22 @@ template > x); * foo3(A.row()); // OK * \endcode - * The downside here is that the function foo3 might be significantly slower than foo1 because it won't be able to exploit vectorization, and will involved more - * expensive address computations even if the input is contiguously stored in memory. To overcome this issue, one might propose to overloads internally calling a + * The downside here is that the function foo3 might be significantly slower than foo1 because it won't be able to exploit vectorization, and will involve more + * expensive address computations even if the input is contiguously stored in memory. To overcome this issue, one might propose to overload internally calling a * template function, e.g.: * \code * // in the .h: @@ -94,24 +91,27 @@ struct traits > typedef _PlainObjectType PlainObjectType; typedef _StrideType StrideType; enum { - Options = _Options + Options = _Options, + Flags = traits >::Flags | NestByRefBit, + Alignment = traits >::Alignment }; template struct match { enum { HasDirectAccess = internal::has_direct_access::ret, - StorageOrderMatch = PlainObjectType::IsVectorAtCompileTime || ((PlainObjectType::Flags&RowMajorBit)==(Derived::Flags&RowMajorBit)), + StorageOrderMatch = PlainObjectType::IsVectorAtCompileTime || Derived::IsVectorAtCompileTime || ((PlainObjectType::Flags&RowMajorBit)==(Derived::Flags&RowMajorBit)), InnerStrideMatch = int(StrideType::InnerStrideAtCompileTime)==int(Dynamic) || int(StrideType::InnerStrideAtCompileTime)==int(Derived::InnerStrideAtCompileTime) || (int(StrideType::InnerStrideAtCompileTime)==0 && int(Derived::InnerStrideAtCompileTime)==1), OuterStrideMatch = Derived::IsVectorAtCompileTime || int(StrideType::OuterStrideAtCompileTime)==int(Dynamic) || int(StrideType::OuterStrideAtCompileTime)==int(Derived::OuterStrideAtCompileTime), - AlignmentMatch = (_Options!=Aligned) || ((PlainObjectType::Flags&AlignedBit)==0) || ((traits::Flags&AlignedBit)==AlignedBit), - MatchAtCompileTime = HasDirectAccess && StorageOrderMatch && InnerStrideMatch && OuterStrideMatch && AlignmentMatch + AlignmentMatch = (int(traits::Alignment)==int(Unaligned)) || (int(evaluator::Alignment) >= int(Alignment)), // FIXME the first condition is not very clear, it should be replaced by the required alignment + ScalarTypeMatch = internal::is_same::value, + MatchAtCompileTime = HasDirectAccess && StorageOrderMatch && InnerStrideMatch && OuterStrideMatch && AlignmentMatch && ScalarTypeMatch }; typedef typename internal::conditional::type type; }; - + }; template @@ -130,12 +130,12 @@ template class RefBase typedef MapBase Base; EIGEN_DENSE_PUBLIC_INTERFACE(RefBase) - inline Index innerStride() const + EIGEN_DEVICE_FUNC inline Index innerStride() const { return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1; } - inline Index outerStride() const + EIGEN_DEVICE_FUNC inline Index outerStride() const { return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer() : IsVectorAtCompileTime ? this->size() @@ -143,7 +143,7 @@ template class RefBase : this->rows(); } - RefBase() + EIGEN_DEVICE_FUNC RefBase() : Base(0,RowsAtCompileTime==Dynamic?0:RowsAtCompileTime,ColsAtCompileTime==Dynamic?0:ColsAtCompileTime), // Stride<> does not allow default ctor for Dynamic strides, so let' initialize it with dummy values: m_stride(StrideType::OuterStrideAtCompileTime==Dynamic?0:StrideType::OuterStrideAtCompileTime, @@ -157,7 +157,7 @@ template class RefBase typedef Stride StrideBase; template - void construct(Expression& expr) + EIGEN_DEVICE_FUNC void construct(Expression& expr) { if(PlainObjectType::RowsAtCompileTime==1) { @@ -171,8 +171,12 @@ template class RefBase } else ::new (static_cast(this)) Base(expr.data(), expr.rows(), expr.cols()); - ::new (&m_stride) StrideBase(StrideType::OuterStrideAtCompileTime==0?0:expr.outerStride(), - StrideType::InnerStrideAtCompileTime==0?0:expr.innerStride()); + + if(Expression::IsVectorAtCompileTime && (!PlainObjectType::IsVectorAtCompileTime) && ((Expression::Flags&RowMajorBit)!=(PlainObjectType::Flags&RowMajorBit))) + ::new (&m_stride) StrideBase(expr.innerStride(), StrideType::InnerStrideAtCompileTime==0?0:1); + else + ::new (&m_stride) StrideBase(StrideType::OuterStrideAtCompileTime==0?0:expr.outerStride(), + StrideType::InnerStrideAtCompileTime==0?0:expr.innerStride()); } StrideBase m_stride; @@ -182,7 +186,11 @@ template class RefBase template class Ref : public RefBase > { + private: typedef internal::traits Traits; + template + EIGEN_DEVICE_FUNC inline Ref(const PlainObjectBase& expr, + typename internal::enable_if::MatchAtCompileTime),Derived>::type* = 0); public: typedef RefBase Base; @@ -191,20 +199,23 @@ template class Ref #ifndef EIGEN_PARSED_BY_DOXYGEN template - inline Ref(PlainObjectBase& expr, - typename internal::enable_if::MatchAtCompileTime),Derived>::type* = 0) + EIGEN_DEVICE_FUNC inline Ref(PlainObjectBase& expr, + typename internal::enable_if::MatchAtCompileTime),Derived>::type* = 0) { - Base::construct(expr); + EIGEN_STATIC_ASSERT(bool(Traits::template match::MatchAtCompileTime), STORAGE_LAYOUT_DOES_NOT_MATCH); + Base::construct(expr.derived()); } template - inline Ref(const DenseBase& expr, - typename internal::enable_if::value&&bool(Traits::template match::MatchAtCompileTime)),Derived>::type* = 0, - int = Derived::ThisConstantIsPrivateInPlainObjectBase) + EIGEN_DEVICE_FUNC inline Ref(const DenseBase& expr, + typename internal::enable_if::MatchAtCompileTime),Derived>::type* = 0) #else template inline Ref(DenseBase& expr) #endif { + EIGEN_STATIC_ASSERT(bool(internal::is_lvalue::value), THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY); + EIGEN_STATIC_ASSERT(bool(Traits::template match::MatchAtCompileTime), STORAGE_LAYOUT_DOES_NOT_MATCH); + EIGEN_STATIC_ASSERT(!Derived::IsPlainObjectBase,THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY); Base::construct(expr.const_cast_derived()); } @@ -223,7 +234,8 @@ template class Ref< EIGEN_DENSE_PUBLIC_INTERFACE(Ref) template - inline Ref(const DenseBase& expr) + EIGEN_DEVICE_FUNC inline Ref(const DenseBase& expr, + typename internal::enable_if::ScalarTypeMatch),Derived>::type* = 0) { // std::cout << match_helper::HasDirectAccess << "," << match_helper::OuterStrideMatch << "," << match_helper::InnerStrideMatch << "\n"; // std::cout << int(StrideType::OuterStrideAtCompileTime) << " - " << int(Derived::OuterStrideAtCompileTime) << "\n"; @@ -231,18 +243,27 @@ template class Ref< construct(expr.derived(), typename Traits::template match::type()); } + EIGEN_DEVICE_FUNC inline Ref(const Ref& other) : Base(other) { + // copy constructor shall not copy the m_object, to avoid unnecessary malloc and copy + } + + template + EIGEN_DEVICE_FUNC inline Ref(const RefBase& other) { + construct(other.derived(), typename Traits::template match::type()); + } + protected: template - void construct(const Expression& expr,internal::true_type) + EIGEN_DEVICE_FUNC void construct(const Expression& expr,internal::true_type) { Base::construct(expr); } template - void construct(const Expression& expr, internal::false_type) + EIGEN_DEVICE_FUNC void construct(const Expression& expr, internal::false_type) { - m_object.lazyAssign(expr); + internal::call_assignment_no_alias(m_object,expr,internal::assign_op()); Base::construct(m_object); } diff --git a/nuparu/include/Eigen/src/Core/Replicate.h b/nuparu/include/Eigen/src/Core/Replicate.h index dde86a83..bec59831 100644 --- a/nuparu/include/Eigen/src/Core/Replicate.h +++ b/nuparu/include/Eigen/src/Core/Replicate.h @@ -35,10 +35,7 @@ struct traits > typedef typename MatrixType::Scalar Scalar; typedef typename traits::StorageKind StorageKind; typedef typename traits::XprKind XprKind; - enum { - Factor = (RowFactor==Dynamic || ColFactor==Dynamic) ? Dynamic : RowFactor*ColFactor - }; - typedef typename nested::type MatrixTypeNested; + typedef typename ref_selector::type MatrixTypeNested; typedef typename remove_reference::type _MatrixTypeNested; enum { RowsAtCompileTime = RowFactor==Dynamic || int(MatrixType::RowsAtCompileTime)==Dynamic @@ -53,8 +50,9 @@ struct traits > IsRowMajor = MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1 ? 1 : MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1 ? 0 : (MatrixType::Flags & RowMajorBit) ? 1 : 0, - Flags = (_MatrixTypeNested::Flags & HereditaryBits & ~RowMajorBit) | (IsRowMajor ? RowMajorBit : 0), - CoeffReadCost = _MatrixTypeNested::CoeffReadCost + + // FIXME enable DirectAccess with negative strides? + Flags = IsRowMajor ? RowMajorBit : 0 }; }; } @@ -68,10 +66,12 @@ template class Replicate typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Replicate) + typedef typename internal::remove_all::type NestedExpression; template - inline explicit Replicate(const OriginalMatrixType& a_matrix) - : m_matrix(a_matrix), m_rowFactor(RowFactor), m_colFactor(ColFactor) + EIGEN_DEVICE_FUNC + inline explicit Replicate(const OriginalMatrixType& matrix) + : m_matrix(matrix), m_rowFactor(RowFactor), m_colFactor(ColFactor) { EIGEN_STATIC_ASSERT((internal::is_same::type,OriginalMatrixType>::value), THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE) @@ -79,41 +79,20 @@ template class Replicate } template - inline Replicate(const OriginalMatrixType& a_matrix, Index rowFactor, Index colFactor) - : m_matrix(a_matrix), m_rowFactor(rowFactor), m_colFactor(colFactor) + EIGEN_DEVICE_FUNC + inline Replicate(const OriginalMatrixType& matrix, Index rowFactor, Index colFactor) + : m_matrix(matrix), m_rowFactor(rowFactor), m_colFactor(colFactor) { EIGEN_STATIC_ASSERT((internal::is_same::type,OriginalMatrixType>::value), THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE) } + EIGEN_DEVICE_FUNC inline Index rows() const { return m_matrix.rows() * m_rowFactor.value(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_matrix.cols() * m_colFactor.value(); } - inline Scalar coeff(Index rowId, Index colId) const - { - // try to avoid using modulo; this is a pure optimization strategy - const Index actual_row = internal::traits::RowsAtCompileTime==1 ? 0 - : RowFactor==1 ? rowId - : rowId%m_matrix.rows(); - const Index actual_col = internal::traits::ColsAtCompileTime==1 ? 0 - : ColFactor==1 ? colId - : colId%m_matrix.cols(); - - return m_matrix.coeff(actual_row, actual_col); - } - template - inline PacketScalar packet(Index rowId, Index colId) const - { - const Index actual_row = internal::traits::RowsAtCompileTime==1 ? 0 - : RowFactor==1 ? rowId - : rowId%m_matrix.rows(); - const Index actual_col = internal::traits::ColsAtCompileTime==1 ? 0 - : ColFactor==1 ? colId - : colId%m_matrix.cols(); - - return m_matrix.template packet(actual_row, actual_col); - } - + EIGEN_DEVICE_FUNC const _MatrixTypeNested& nestedExpression() const { return m_matrix; @@ -135,27 +114,12 @@ template class Replicate */ template template -inline const Replicate +const Replicate DenseBase::replicate() const { return Replicate(derived()); } -/** - * \return an expression of the replication of \c *this - * - * Example: \include MatrixBase_replicate_int_int.cpp - * Output: \verbinclude MatrixBase_replicate_int_int.out - * - * \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate - */ -template -inline const Replicate -DenseBase::replicate(Index rowFactor,Index colFactor) const -{ - return Replicate(derived(),rowFactor,colFactor); -} - /** * \return an expression of the replication of each column (or row) of \c *this * diff --git a/nuparu/include/Eigen/src/Core/ReturnByValue.h b/nuparu/include/Eigen/src/Core/ReturnByValue.h index d66c24ba..7feb6e01 100644 --- a/nuparu/include/Eigen/src/Core/ReturnByValue.h +++ b/nuparu/include/Eigen/src/Core/ReturnByValue.h @@ -38,9 +38,10 @@ struct traits > * So internal::nested always gives the plain return matrix type. * * FIXME: I don't understand why we need this specialization: isn't this taken care of by the EvalBeforeNestingBit ?? + * Answer: EvalBeforeNestingBit should be deprecated since we have the evaluators */ template -struct nested, n, PlainObject> +struct nested_eval, n, PlainObject> { typedef typename traits::ReturnType type; }; @@ -48,7 +49,7 @@ struct nested, n, PlainObject> } // end namespace internal template class ReturnByValue - : internal::no_assignment_operator, public internal::dense_xpr_base< ReturnByValue >::type + : public internal::dense_xpr_base< ReturnByValue >::type, internal::no_assignment_operator { public: typedef typename internal::traits::ReturnType ReturnType; @@ -57,10 +58,11 @@ template class ReturnByValue EIGEN_DENSE_PUBLIC_INTERFACE(ReturnByValue) template + EIGEN_DEVICE_FUNC inline void evalTo(Dest& dst) const { static_cast(this)->evalTo(dst); } - inline Index rows() const { return static_cast(this)->rows(); } - inline Index cols() const { return static_cast(this)->cols(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return static_cast(this)->rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return static_cast(this)->cols(); } #ifndef EIGEN_PARSED_BY_DOXYGEN #define Unusable YOU_ARE_TRYING_TO_ACCESS_A_SINGLE_COEFFICIENT_IN_A_SPECIAL_EXPRESSION_WHERE_THAT_IS_NOT_ALLOWED_BECAUSE_THAT_WOULD_BE_INEFFICIENT @@ -72,6 +74,7 @@ template class ReturnByValue const Unusable& coeff(Index,Index) const { return *reinterpret_cast(this); } Unusable& coeffRef(Index) { return *reinterpret_cast(this); } Unusable& coeffRef(Index,Index) { return *reinterpret_cast(this); } +#undef Unusable #endif }; @@ -83,6 +86,33 @@ Derived& DenseBase::operator=(const ReturnByValue& other) return derived(); } +namespace internal { + +// Expression is evaluated in a temporary; default implementation of Assignment is bypassed so that +// when a ReturnByValue expression is assigned, the evaluator is not constructed. +// TODO: Finalize port to new regime; ReturnByValue should not exist in the expression world + +template +struct evaluator > + : public evaluator::ReturnType> +{ + typedef ReturnByValue XprType; + typedef typename internal::traits::ReturnType PlainObject; + typedef evaluator Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + : m_result(xpr.rows(), xpr.cols()) + { + ::new (static_cast(this)) Base(m_result); + xpr.evalTo(m_result); + } + +protected: + PlainObject m_result; +}; + +} // end namespace internal + } // end namespace Eigen #endif // EIGEN_RETURNBYVALUE_H diff --git a/nuparu/include/Eigen/src/Core/Reverse.h b/nuparu/include/Eigen/src/Core/Reverse.h index e30ae3d2..d7c380c7 100644 --- a/nuparu/include/Eigen/src/Core/Reverse.h +++ b/nuparu/include/Eigen/src/Core/Reverse.h @@ -37,32 +37,25 @@ struct traits > typedef typename MatrixType::Scalar Scalar; typedef typename traits::StorageKind StorageKind; typedef typename traits::XprKind XprKind; - typedef typename nested::type MatrixTypeNested; + typedef typename ref_selector::type MatrixTypeNested; typedef typename remove_reference::type _MatrixTypeNested; enum { RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime, - - // let's enable LinearAccess only with vectorization because of the product overhead - LinearAccess = ( (Direction==BothDirections) && (int(_MatrixTypeNested::Flags)&PacketAccessBit) ) - ? LinearAccessBit : 0, - - Flags = int(_MatrixTypeNested::Flags) & (HereditaryBits | LvalueBit | PacketAccessBit | LinearAccess), - - CoeffReadCost = _MatrixTypeNested::CoeffReadCost + Flags = _MatrixTypeNested::Flags & (RowMajorBit | LvalueBit) }; }; -template struct reverse_packet_cond +template struct reverse_packet_cond { - static inline PacketScalar run(const PacketScalar& x) { return preverse(x); } + static inline PacketType run(const PacketType& x) { return preverse(x); } }; -template struct reverse_packet_cond +template struct reverse_packet_cond { - static inline PacketScalar run(const PacketScalar& x) { return x; } + static inline PacketType run(const PacketType& x) { return x; } }; } // end namespace internal @@ -74,12 +67,9 @@ template class Reverse typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Reverse) + typedef typename internal::remove_all::type NestedExpression; using Base::IsRowMajor; - // next line is necessary because otherwise const version of operator() - // is hidden by non-const version defined in this file - using Base::operator(); - protected: enum { PacketSize = internal::packet_traits::size, @@ -95,82 +85,19 @@ template class Reverse typedef internal::reverse_packet_cond reverse_packet; public: - inline Reverse(const MatrixType& matrix) : m_matrix(matrix) { } + EIGEN_DEVICE_FUNC explicit inline Reverse(const MatrixType& matrix) : m_matrix(matrix) { } EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Reverse) - inline Index rows() const { return m_matrix.rows(); } - inline Index cols() const { return m_matrix.cols(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return m_matrix.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_matrix.cols(); } - inline Index innerStride() const + EIGEN_DEVICE_FUNC inline Index innerStride() const { return -m_matrix.innerStride(); } - inline Scalar& operator()(Index row, Index col) - { - eigen_assert(row >= 0 && row < rows() && col >= 0 && col < cols()); - return coeffRef(row, col); - } - - inline Scalar& coeffRef(Index row, Index col) - { - return m_matrix.const_cast_derived().coeffRef(ReverseRow ? m_matrix.rows() - row - 1 : row, - ReverseCol ? m_matrix.cols() - col - 1 : col); - } - - inline CoeffReturnType coeff(Index row, Index col) const - { - return m_matrix.coeff(ReverseRow ? m_matrix.rows() - row - 1 : row, - ReverseCol ? m_matrix.cols() - col - 1 : col); - } - - inline CoeffReturnType coeff(Index index) const - { - return m_matrix.coeff(m_matrix.size() - index - 1); - } - - inline Scalar& coeffRef(Index index) - { - return m_matrix.const_cast_derived().coeffRef(m_matrix.size() - index - 1); - } - - inline Scalar& operator()(Index index) - { - eigen_assert(index >= 0 && index < m_matrix.size()); - return coeffRef(index); - } - - template - inline const PacketScalar packet(Index row, Index col) const - { - return reverse_packet::run(m_matrix.template packet( - ReverseRow ? m_matrix.rows() - row - OffsetRow : row, - ReverseCol ? m_matrix.cols() - col - OffsetCol : col)); - } - - template - inline void writePacket(Index row, Index col, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket( - ReverseRow ? m_matrix.rows() - row - OffsetRow : row, - ReverseCol ? m_matrix.cols() - col - OffsetCol : col, - reverse_packet::run(x)); - } - - template - inline const PacketScalar packet(Index index) const - { - return internal::preverse(m_matrix.template packet( m_matrix.size() - index - PacketSize )); - } - - template - inline void writePacket(Index index, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket(m_matrix.size() - index - PacketSize, internal::preverse(x)); - } - - const typename internal::remove_all::type& + EIGEN_DEVICE_FUNC const typename internal::remove_all::type& nestedExpression() const { return m_matrix; @@ -190,33 +117,93 @@ template inline typename DenseBase::ReverseReturnType DenseBase::reverse() { - return derived(); + return ReverseReturnType(derived()); } -/** This is the const version of reverse(). */ -template -inline const typename DenseBase::ConstReverseReturnType -DenseBase::reverse() const -{ - return derived(); -} + +//reverse const overload moved DenseBase.h due to a CUDA compiler bug /** This is the "in place" version of reverse: it reverses \c *this. * * In most cases it is probably better to simply use the reversed expression * of a matrix. However, when reversing the matrix data itself is really needed, * then this "in-place" version is probably the right choice because it provides - * the following additional features: + * the following additional benefits: * - less error prone: doing the same operation with .reverse() requires special care: * \code m = m.reverse().eval(); \endcode - * - this API allows to avoid creating a temporary (the current implementation creates a temporary, but that could be avoided using swap) + * - this API enables reverse operations without the need for a temporary * - it allows future optimizations (cache friendliness, etc.) * - * \sa reverse() */ + * \sa VectorwiseOp::reverseInPlace(), reverse() */ template inline void DenseBase::reverseInPlace() { - derived() = derived().reverse().eval(); + if(cols()>rows()) + { + Index half = cols()/2; + leftCols(half).swap(rightCols(half).reverse()); + if((cols()%2)==1) + { + Index half2 = rows()/2; + col(half).head(half2).swap(col(half).tail(half2).reverse()); + } + } + else + { + Index half = rows()/2; + topRows(half).swap(bottomRows(half).reverse()); + if((rows()%2)==1) + { + Index half2 = cols()/2; + row(half).head(half2).swap(row(half).tail(half2).reverse()); + } + } +} + +namespace internal { + +template +struct vectorwise_reverse_inplace_impl; + +template<> +struct vectorwise_reverse_inplace_impl +{ + template + static void run(ExpressionType &xpr) + { + Index half = xpr.rows()/2; + xpr.topRows(half).swap(xpr.bottomRows(half).colwise().reverse()); + } +}; + +template<> +struct vectorwise_reverse_inplace_impl +{ + template + static void run(ExpressionType &xpr) + { + Index half = xpr.cols()/2; + xpr.leftCols(half).swap(xpr.rightCols(half).rowwise().reverse()); + } +}; + +} // end namespace internal + +/** This is the "in place" version of VectorwiseOp::reverse: it reverses each column or row of \c *this. + * + * In most cases it is probably better to simply use the reversed expression + * of a matrix. However, when reversing the matrix data itself is really needed, + * then this "in-place" version is probably the right choice because it provides + * the following additional benefits: + * - less error prone: doing the same operation with .reverse() requires special care: + * \code m = m.reverse().eval(); \endcode + * - this API enables reverse operations without the need for a temporary + * + * \sa DenseBase::reverseInPlace(), reverse() */ +template +void VectorwiseOp::reverseInPlace() +{ + internal::vectorwise_reverse_inplace_impl::run(_expression().const_cast_derived()); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/Select.h b/nuparu/include/Eigen/src/Core/Select.h index 87993bbb..79eec1b5 100644 --- a/nuparu/include/Eigen/src/Core/Select.h +++ b/nuparu/include/Eigen/src/Core/Select.h @@ -43,23 +43,21 @@ struct traits > ColsAtCompileTime = ConditionMatrixType::ColsAtCompileTime, MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime, - Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits, - CoeffReadCost = traits::type>::CoeffReadCost - + EIGEN_SIZE_MAX(traits::type>::CoeffReadCost, - traits::type>::CoeffReadCost) + Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & RowMajorBit }; }; } template -class Select : internal::no_assignment_operator, - public internal::dense_xpr_base< Select >::type +class Select : public internal::dense_xpr_base< Select >::type, + internal::no_assignment_operator { public: typedef typename internal::dense_xpr_base
    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ΝXprJT-i+l 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 z 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 z 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 z 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

    ll9^j{Z7> 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 z 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�hW9sK_xt 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�O;!;bE>qhm7HjLbUCjvi>Q9hu$(@~j#8drOX5 zp7YC_)PeHST9Dur@333rK|*0oO;wGRSjp1r>arPAt&;-Q@Uq%S#f;KOMb!*9JX}?E zab2}2fNCx47qI#Tu=GGhZJ@Lg8)9}q?t>;6RW@6|l=|b{xo~q;mUDY_^SE&HESRw3 zg#kGBRi%RmaN4Who`Z9LxHl(8Vepf<-q{3q3%W-Rg;N7t&XA)Wp=ev)ro0{UID+?F z8W%xfcnb&yZkVWljF)oKkpM2`;3TYDb_gbrFq|{D5u5|}&Xk!KCEh>y)aeQ#I6A}a z5xgoc3^-eXOFaYOhK`)F!-e>SDK}1Ea^kbny1n7dDpyWNSBVa$Os(MX*x9Y~htA(Q zSM(DK(l0xA-USCpyulEgliqa^MoxLe6=!*%b$HMNl<<7hIV*8)n687dH{3iGu2U(# zN;t2>b5*=o3jTw0pST-I{va$he);vk%4;1vKkg~mtIZMb6)-3~V&FEq?cnkNY<%HwywlkzgN=_O)o^}0 z8ZP+2#*Rq7IB$WA{cr_>?%lw-Z>agKT(~Eo#1nLQxZxne4sIO062iE0uCRw<=fl7g zzwi=oQn)Vx!TE0I4WZaP$O)HUVv`c`(Fr`{gG-(7b({~Ohu1sc=>*7HoRC#a+VKhy zWZl}4?VPMT=frTmFE$aMJ;?2nfHP{kY7L0J@vIe2J+^eT<*u)#RIrQ=M3!FXw6qq8;%gArs)M;gI$%rJTKOl)ukVN1s|aFGqK zY09A%ZpO&Y3(JJ~gX)8K#SIo1+VS4V>yRfLy9};99gWwXU~u~^9ED?y81>=ebzis) zak3p7mIZgPVH1wyaN2os&gkebaHTo`_npH25nn*4)x7|hGVQ+G=z`}4y40`|pqbA> zc;ab(-SfdlC>w^lx9XqrIJHE#RV(9qXMPIS4q9g*rhatjpV^RBT#{ za&zl_IwzcWp2+%kUYnBDZZ1y8>psr$uV7+U1nwBfQ5rMwJ0fv?s&VF`{O zh!@;uV9$?k!N&?#XDOBKx}S!}PT2^T<-&i}y0`Bzb+ z)r1O)u>-)#e&oiu+hXNVsg+J`K7-n9#s)0GScQPWsRk)^S`e@4MDM~@UpPC7@w3HoI^F3dq3X7k=KJ4&d;$RDr3dq zYVYCYQp$dDKP-S9cw4l74%{q>KZcU%*cR|aAaZV(4{Y$k3!wtI zKZEx;93PCgW7XgTR}`NDS6%P27tZOb|9jvAxDoYs$Eor9aiNR;2=!ebS^$p)z-^do zC&2XPSyv9nQ$?UiOOlKnF-^cRj&{{CFYcv$4gKlU9gJ^_p zo0b!4SwhQlT2?#Dg{u=Ty`asN&OEUS&N60BojiDE|Kb6~xdnywQ_8CGOry}1mow=2 ze0fsg4Q}c9ygcQ6#zPr8z94=!zvL0eT5;=KR0hsUTz+CvHgiW<4m)@JMzQpbeyE~t{ zT?P_HxFihgbq;HXn8C5+BjUI(?z0hz@e11F@miD$or7tCQN2>{X6s+rEA?s?F|=3e zR8|%aG#DQnN!L|-d5n*?ZoY?7S*{TnA2^n5q`@_a{v4H&=^L2hj5Aih+S$`1rITS9 zsS(R^xmHtFS=tXSS4XUV_%kA_-{jg_%Q5t;n^9SDaarZ;e#PgWIm$Ry8aS)GG*UQ| zFnf?yEnX|#HIW$JUuD>X+$xD)2N%oW(%PX_Rh25$9%J^1aA0l4rDc0Wmxxfwk~$?9 ziQ>(Tjp_}8!I2OP10s_r4|48Zh-OJBQ{U-AYouLsZlN^zMpgD-|4 zuPkH2SSv6-VNcGjWlf-FeAzV>PhPa1H(A*UrwPf6XR;?_P#Ps^)aZGWmEGmYq(y64 zla;LaF=^3y-ehGbIx%VST=pvGXPPkX=Jm^GLNn<|laIIS&Mci?HgwRG`ue=QJsLNR zV08#dDq#Sq|4-O8T#e$2JjNATFYSu3Vf_n>MolRib>_IpiN(c^7xMb6Hx5Hn#zpe- zrj(b~6h~@GD||(-va-;B(rn`*1FK6bYC@yN4Js}gaps`ORaLc-yxdx7 z;Rd9{(yxRJ$R8dzCYTN{ERF*?vxm=Cwr z%W6t%%L4Wm%*mm}&;O!&{nxfx|AEkG7nVheD`wP|)kKQxW>j2KS5{nI zRa-cA+=<2ir7f1UR{y>2Rgl1^lx4d$aG&(ep*fzwMPnjjRPJARxF>N-%%Bf2xKf^(35HC0fJ@vh@RB0@|(xRT?u zO|Jzf0LJ|xvmp$ufn|oUBRCi19-_p ztBMPe(70Xzt`_qGN^A))2-XF{)l*<%G#FYcz6GZl&bhf$*WqWw#-lHse(br zl<=}sH|y)J8}3R*pOvF*b*=g={U6H2KA&}LS0-i6=UfR^47BPKcMM!Re9l{GTxPg8 zae~_j7GL}>N8)au^A?*#8*cfWx7u)aeAA6P`JA`oaCYbJfNO`(!Z+o(lh4X`8^Pjp z-lpT;<#XP!!`YoX!>%1Zcoz_te9oJB+`al!I>~awnhjb|TI`-ets_=BdzMT4@j7 z$H8<8d{Ura1aJeA>`~&qLtXtPUF>$gea_pE6a%gLoHrzK_Osnau=wJ4^%8gctaB0# zwB@t#ZA#xKStV|xlfTqppJK32HQ1*a?D$3~ck)>kZX;NH z&Re70yL^_sBigm^L0C;y?9O$3u&sj+w!4gU9A{%HE;#!279Byeucrl$Y95}c)63$y4r07i_gNhe7Tb^{>I6~eLm~DL<4R4Ed4EEVu#PV z(UAWpmtBlc?s4orC+GP1I3;Th{OOd$y*?<3 zOFnUT-nGkTx&45de3sh}!tVBiu)F;r>~22@JN&ARNj?kj^174HGWiW>5$@!(GTcV6 z_$tI8E z`D9Y!Zl85%qJg%2)?o(w;RbuaU_ZiO?_;nZX|U^~q{!y8jxyvw+F<{K%YHue>pseP zne0&u9DCRKm(%?LeXqg(s$KRK?`dA1C;UIzOSR@XcshjMfp%HL%uC(sSwUo6q$`8O|N(~GXG}BKGv0gC)hcE_JTtNXU{d*3k~*(VDF=x zuk|Gb*E;rzaXr$G@A<}fXrMzRKCg#qhoSr)u%FWzGT5sO_QwqNe;e#aKtOW5{SEdR z2KzGx`&$P4;c)2XcykT*VFvs82K!wG`^N_RF>uH~LYe31h~~1+aO_>@FY-us5!gBX zGY$5q4EB`xFdUv99!Xeg%-Oo{p^*A4J_ zQB3E9ovYV_2K&bb`%y5p>f^jIT9k{=mty)O*sdJ zSy4;@n4%qFT_rZ)TgJmM$KG}RE8}4r*!wtdtrigH`A}FL08=_g5Aa}ep7n&~OV{~<96xKiD2jSR2%Gz&`xa^FAP?0 zH01vq*#D|rhe;>UKOK8*yoeyJ{pi@M<93<<4={E9t8(3@fpUxm`w`0Z8976(aqM;R za%6q42Rm2arw#V?PB~rIbL7mp)3JA5w~;g244BFvp)Y+=r|Z_?utC4!=`&9cM!SQ^?LB-F+DkrsK9C`G71;IAvzOfR`C~5% z@F__drDH~n7*{yHc>Iu|;lg6jHMO$Hk*5R!RxI(ADO2IqA2n4F>gS%RCii@n>-E}QK zcgC#gj*^Oj2rDd_QfU=Wm@%tj#?<1mWwmv1$CbTZ>vn!uPvFC&Yd>EPrKj)(C>i(? z61x&#NMatooUTS1?!=F4cF~4lXW6uYy16Ax73!WATyHt~NmL!&sUNPp=LxE*dp%KrxIPSXx1GF}!oC zY8Jd~>Oy#9loP5Ls1O&5i#$FtjZdtV*49>BI0GI}9ybt2Z779mFULc83|2;t7(?Ny z?9$@WO7u~rjDC&*1MGh$0iN6)U0hREU0FJ%tZ@2tsEQab_xS1W6Kl%g3DKEQ$bTlp z@rCnBDx3mfAvWEanCMvVt;xy)8<`V14UPn=Sa@aE&c;0uGc5b zCY-~OtK++}KsEoj{3v2~Ej+O6WrM$^eVrp)++T2*gvP{&72&`a$?LM?4>g<_jMFpv zckQStn_OC1I%7&%F}wg#{Kf-+;?b2MjvPDAIml@}yeo_bOsOm@tw}uT|8Hr^WWOrV zygao`dYN|>cDMhUs{c}Y!&KC=8L$&UHYQtWMH$NWzy_O)b} z<;!wj)9jLW3)!)p{~Hwhv#?L<*-Uo4efOMV|3tB`Q0(KeqL8rsHu%VL z&LcaPvr@6IQS8qv_BWMsRw?%PmHev}dmkTcK+<{pk{w|a;Uo17R`S1~*zZ*GpQG6C zRr0S@O*He2xVZmU9Puq#wjP_C&wHr{$%6DCNiEURLb2 zihaFezlrSF?&m4?JCytz6#G96_6-L6zZARb|If&d^?F4q|7*qmkYfKyvHw%Cr_+61 ztnWs}K0&do@o=?be^tqUzhd8{*zteAF=6>?{;w6gn!l*Klid}!7b|wv54DP29cQA7 zUCqB(vE!I5+x;(!eY0Y}Q?b9U*k2|)w)^>teWQ~94aMG}*i}9Fd=4h`kIMUlVpnBPH z-l61I`}OfC1QOO)Juc^y9sRE!mrqyntH-r^#r`2+q<=aMc3)4(1POW7yd)EBRGDTNJyh=WKYc1{3nC_G-nh>iJT!<1_!VUf+=&^-NOisqkD4CM^F2_{jVR z80>#g>|2%m{T2IK#a^h`)wmk1*wubls@UIF%BfK7YQLDF*wubfuh?Hw%9&4g^uq;; zy;;e>MX@g?JBGzaiv2dl{;*=dOR;~f*dI~KSI5<76}#$(Es98=Q}V04J>dB(Ojs|~KSwI| zS7D#jGeWU%QtUSlM3toZ76|)q1_9*wym?rP$Tu)MsSJb}Uu&>{Rlr$EjUp z$K%vDO8&hLgbhe&e-J*>KbeaCTg84T+0maH75f0iuKM9L#r~R-{{qFX=3fALFzNBO zSs9$FBv7{Y^!ut@uHmFO4BP)_1a!|7<1y`-;6nv8(f(h+-hGP|WwS8wRcC~%4R_toM7AtnOUYG|H@~Z87mt%Eb=X{jxm|tz* zr^v3i?@Gn4wl9uFnDq9=K7t9$SKIen$13bcYWrp=?V{#a#~IZRYCEd!EANk> z9<_a!D!iY-x@^bi6uZj%qQU;D!Ty!O?l;uyK!g1xgMFyMev!c*G1&iVu-|X6Z!y?E zG}!$(z(7L(tN#4G!9K!ZFEZFqa!MEFe+cWc9Wj-90R32pww3_=N5xq&bx3o)?qk&F!dG-$M$bnm*wwA zcI?03DfWZNj^$t-W&R@+yITIyWJep$4P^e~wfu+B_CQ)<{wLuh^Pf(3vBtK@A$9m+;!Y@c@f5cf6UjbT2`^~hD3$=WC zj7Ga!{)1?sq?Z4vG{Q1K>$@xeV@{= z40lUCXzz&zO6SuO?eds~rfS8WLF>3^RP3@X(6mIc?@Q~rSfSYOQS6%)J95i}=X99R zw!gC`zOv8(kkEdBvnIae@7>WZV*vNa^Ha3TV=LM#m2wV21EocZ{V-{S<(-N>pxE0K zdmqIv=Nrh2pH|xUv63I_C4JNzGeN?Ij7i)MDE4E}KuP}36Yj=O1C@KKk{`=Ij`CM3 zb~!h|UGjJHxEu37fJR78hl1=ty93%0#L)D2d zP53b3u@0CJUk)Fy_!7vAN#)0J(JQ{vK_}vI{Pc>iXYdt!fNvzcTK|jo058Wu6@T#_ z;2&W4(I;N(-^Spl?*V=@;nnuT^y z0G~j8xX%F!7 z_@MItum||@4FAu2fIpwX7TCPv<@`piKb~KB#mnneDjv`GyyE9F`aj+S zetFzf`SCo_EC1CDKc1g>#V=;?cz)>>e>;Q6F~uwXP6m(Xt6uRBFnBzF@``_q!QZh5 z{(FYOf3pYp)eQclJ;1ML@UQFvelvql2b)*_z02V7yhq0ez=m1Xb2r$uwiEuM197V> zspnc~Js3V%W)MDV%BmAvS#*Md<97~xWPi${%tyl#sc0HaR=6ki`}k_Y3dxGwj)OHU zQ^%JOJ`~R>Rsz~Ko+~)@$BD6$BwjH&t6Daz46M7u)3iHYjPAb{1AdyJ{yP6!1HPK@ zdVZZBul;iRYdrGz2QY_kAiUl#IzQg0a_;+s2+d!8}yfuej7oMZh_Cq@X`H`zaw(^F_V(M^r-(6!owmVZ6~}O$K_5r ze#`Bhl3y!eJr2xF(z02{K?mjhw~_G4{PzdIbMd>B@m~=1=>8jP;Q!U5{woc5`2)XX z`tiNOoc`^M{$Y&%zZ>}bsTcK>cF_I*i2iN`u)!uMHo_1{aqcrUU#-+KMuGT<`_-&eun zs@{JNfQdWDf09T3vkmy5M}B-CHuCHKt04UCnttgwx%{(%f3L$eAZ_aY>(!mFezfY%Wo$Di}yBimoj%PunT-xMH1ZK3O5Zosz^eqa*)j~eu^iwWX( zMgIk0()I5&@NYgs6Hc4D{(LA9DfZHKv=d&wr&*S!`+or7IsY$h76?^;DVTKq7a8~u zI#MzwE;X6fs2;rj0O95RDOrlHe+1w;{fn*@2sM7Df=SnZ7~BNq{CCq)k}+|q>;J`o zZza5ZKeQ}G*S{0+oc^Ng1i~gD#{Y%z(e=O5i`T#HXaZ^rUH>Myz|7TuJK^Q~s%0^{ z{tbZV^e-X(Z3IO9c>hG#zhQ6Ur+jkJN&{~Y#VJYWUk7-Of8zB5ltUFp{z~}h{Oy3p z``R##OGxd^`AwS-~ka%hT9Pnrp{|6*6_`S^||6w5hx8REm zc==b94PBC)wSczWkOUvp^6U6zfX60I)dTZb0o12qdi%dec-?;i!b?9(8Pfl9dkf&X z_*p{jXH!OOzdHCxyezk;pVuEGe*H8`*FTu>y8aT6`ttzK>2GKB*E9Mj8}v62zdjAn z^8T3~(`Y&Vj9|8_#0O9ralJP4_x2$21fs3Ezq(7H3V*D?FkHpLPj}X7!e}lxYPXhu}o?I*? zysp2T@RCR7m;7@34uk$}jQ<+}B=NG`4-EVb#GfOHXesg1jK7=X{Fi%^$WcNW(SKLK zN8%;_e(>-Hw!dEgr5^b+0MGHaF#L-c{^17xjUM?=H}G#~_^)F4XB+r;dgPB7_>1si z7f2<}w>W>k8rF6H-*4a#94~+pPsPOXa{F!r|1#podq$YB{jY(K&cBuT_r**~Y9Rig zV#8GkHz&#E7Y2MA;Uyoz;{4LS%TWJyN$|3~9}V?izC`4ZagO!JDVgMz_9LL;=%QSa zJ^sCs`1{2zVujr4V9;_5;k9hmuY}j_5-;ti6JDQw$iL9u2G+{@5iXUe+Jn=bC$B+1u!0wjwBBO}c*Ec4-G&{s@8ELPYrN6^5kF52sHoe`c}3 zcRxTZ<+sj{Z?_v=THUYegn*NB#X?yZmcauDI<`Ui1MUW|_u;Db1fp*&je4@-0*+6TgC5Ume}<%#e)1wN;eEgzNz zw0;sSPp0+LVHt!^2tH@P2g@1;pW*Nc!)G*n(1xxa37;|WDS{8$#=>VDtxtgES@4-i z+vmaZd|JnA0_bYQl)`5+e5S&u3_fVXbG~v~zX+BW)B1E+&Y<;bSYATwvuIgQ%h|NN zl$LX7IhU3=CqbV1v|K>T%W2t2%O+Z0Ny|mF#4#Q5F*J6N6Q;%iHBv(kNsiD z*+b5H3Omn`2}8z*qQ6cUXGgyaEnJgnFZ_JsR6Ew~s2td7M~7$Id2M!VWUk#D$gD`@o!@7=Hc0aaC2q$A>rn!*|~^I?|1}q`47ihK!)X~)Xlhf zM%AntL)O5))56iI*?~~BTeiJ+cyaS2+5mU^~QNi;d4d#EwO>17LIv zc5E&%7JM2>b2h`VIl)k@yB#aa2fZi%4mtfzc+}@g!<^AC!_i&4iflW&Rg_S$-Hxt` zOtWLdayX1oP^$>24cf82>{u|2uF8>=E7XNU~Sw5G6o=&?1kmIDd4^=#eLISLVdS}7GOE^ z=idS=j@Y+{M|XB!X~%rv!d*p~ahl#hQ+JCU+Yjt^Y-koWXWjqd?oGg>DB7seNrph! zGC@S5s054(DwwdxH7tRN1dId}6%8Q?f-H$-!lEck5@ZZf+;JuDqNu2#h=M^@6%<7g z6%i4X7#9=}1d)5*>Qgh7o@oi{{qO(Xex7&EsnfN0b#+yDbx+ih0nyddj%=v95%H*8 z6t6p#uE4~Jmdk8!v#q?bRLFdHeW$~Vrbl7wjNO{z>QpPW#j zD#Tl+8qn&Jgl%$yqMp2KN)q(@hLFDzIq7#%cL~KNT(4B|7FWiK`+%`eUz)uBk_0*J znFiWxv`8vr?uonPRE-VpLrcM_q0e#ZlF<~2ze1&KrTwhI7Z`l8!7DW{u8foLYqeWv zz$!PgpJLCZlnB1&AcR>(Y3PQcRmCB?&Da?Wlc<#^a8%ZAfJ;>gBS=H5)YnTqtYfxu;%ZQv6P&qmZj|Smd&p-RSt3KPo5I_TIbZ8yP@~J&K8S+T!H{}k;lAAx3-5{+Q4)hV&aAF^JOP$|)rR(eYE(Tu%i4=2dsPcK`T zAcx+Yym>-`TnRF8E~k~J;wbh?$nbUQSNeO=x!!WQ?pudI{1iY69>mQQP#&hfAQo`ax5uOrRxWd>yrI)BopnDT3w&0$-RLk}H=hvAnRTXIc zs;SFK%40uE^$@r`G_o$kaxgrl7f4B`t(30C=YC|&y>KK#?w_@kFC)D71iHZ*JrQ) zvnuOsSW|VCIx7&9)dI=_jYAzK>5-1@u&WL>UGj-j)j!KT_EvjfO9?gr=2VWEYQQL0 zdh#!xl9tGs%6U~Y)`dEF*6yO6RY#-_5GYZN>AY$&`aJFjj@TRM8>-qJ>oc{i^qTqp)0+93~|xBMSDvA zP`d{NdQ=$}MX7z>@=T~!{)1W1L|!x7q~RKXk=5@Q2l>CTGVVtb{^iy6JS|g@(T}`k zmm#H(i}rf`edDX^>-M|>V_^hTdQU{t3zrf!4XFeW$<=Ds0}{X??8FiOE>G!V$!YP* zcR8ON+o9vyo*{M$%wA{61#%e6Abg!;i~eWGeR@TZR^Bn_th#=|y1Kzf~yceP}rc6ol%0+ML z&8Kr1?K=na8T5=8qbDCOeBbN;!5FKr!qEA%;8?xrll0_s60D12T3J6F>7saV@_Ns$ z4@j>sA#sAE_fb`V23ZE~DUr1SxP;Gq1ehkXm{X7elmnBQM7%dZS4y#BY8@6~;xFY*>2tS|9D3!U-50qXLUJgQ=POJ&o_RNzvaQi5ai zMqR6P7{4asVs!*31kQtQGP_E|$?2=J`$$SO#(my2|DcpKf2tQpF63m-R*4KjFzjr$ zRGP1Um!6(@NN8b4OT!6+ zG3H-9>b}#_XnOYZ@9bBWn-Gh@KFpRes!B`VitBNjr}rl5Dc3K0MRwt4F53m12=^S`Oyk(6NQatyps(w-(FQ-x!OM3R1si)M3W+kP{ z#qMRLuaAJwS% zaD=C{dHAgCM*Ekn96*87ivRMYqsNT*+`1o?0w*q(UEm?Qx8Q}vWaBJWKE0-t_pzrAH_#-BqqzeX#=tcCys=C z5K4{&TK{rSsX9mfgW9aF(*(`bs(6$yMYvQvYE`;KtCN)G>Ur&u%Ja{xB$*)=r{LyG z*~1JF+Ih-zA6?~X#Vawn{@zpa*C9QO-3w;#!K%{G&`{;o&tO7OZ;70KGfRTkovKP{ zhce4ZE58|&6lP{1-0I-0L0^u}{vdAf8N15*#jBBr(|I-+-LKvkS9J+op4SGUnJ(`> zb5NqnL)8Wx7M$3>N>9C^s{TPa^A03^nXa$mo;#LE&eXa0rsUc)YaWEExuW{lRE?y}0cYysM`pe7g;TT8UZZMopkg3EraN{E+hq zRG_-4WZij6)m=$2g*5+aGm(8d9j_nLLTkXPQmdXJ!`&2_mLn}p{B&vbv@no+7FhY( z?|aD#{Vbf-PgKu$h=lzgPsXCBs+E7_U{&>_R$=|`Rjt`4rvnF8IBlhQ%9%S9?NWKF zx*V+Pa&`I!dMZ!Ja0pA#sAVjFMRf5&TsATTCwrRs=J2~J2I2L^vFe)x;gf3~2-_G8 zCw0}{z3|DSsxNKUiGs_;OdK!Sa1T)WWOT}@vC^i{_fCb=DxGyG19i_)DOL?gP`yhsR>_zow6xEwAY#os2a{UehO0aohkd z?}H=WCmx1L$hDY+eCs;{({nYR$xOj%h+V87w#oG5ZOBK_HZ^7RmK9+-gh?6?w(fvx z&i66R$4!VsYRa#w0&^S`6Ah6E;cU!>qa{mfPS4t6Rm#1)Q6ZD|o}9E}8W9_Oj*zOJ zBQ!=Ws@!qBm5Sa)`c8duO;wKpzVMc*9p-E{3bWbj(z<`yXW!P=iyVWl19@UeyG_)mH8?*y-@A634Iu|kO>m)OSw`H_}YeGS4(hhZD^Q!yD z==^bIv(8<)65vituY?PP#S6pmNS?7Z#ie%m>~!|MygTJe0xXG_#BjAondKo1+G^xQP-h3+4y9^yv~U+QbD?1u8PsE#kvbM&b7#$w1Cj_M{1N zKqq0mm`->~b|P-;^zH6h-do+8EBy$XjE^KR&u!T$C%30`VPL0uevgp5RS#en`Zt|* zJRuH!TyhTl$b($nTq#!alaBipWCG22Yy*y6_-Vx6kB z%ulWT^U&*Z1anx+^#0!qUw%cbd86-u*MDj3>OQ!!=WmX|LbST?*5^dmiecG>BXjTv z=;KC?z3#m8velo|yUvSuaWT?)4P3I;$Q6HKyzBDp(M5TwafBAe#_Bs0By0!AljYCk5X`}3nw!dUTFk&8KcQ{oMEOZQRg+`R_--e5z%CP#W zehT9k)TRuHLT4!$xa>$cQH+qrg9m zjM@|#btn>#sUu`j)Xh?3+>RWHh`kW=t>+_7nCo`^5%DfAanKqrh&<<;NY@{c*ac_$ zM-fr;8oQozM{Q{6TIRlDQA5|0buPNCvFo9z1n?K?wwck;bw|CZPaC<`L?g&6^`rJS za&4|ZHv;<84WTS(7zK|T8d>o*Y6(n?8t%HqayPi5-HZs=BN3J>CJmT>;mZ-OcSS+j z?um$)5wScX>fXi?>rj}+5#@EFW;TwvGb#~$S5(yO#u102MERv&$9p{PH={*)LH@6C zYyGJE8%OM^FF_ACjKt2eMoABQTpu+O{lmtQ;6F5us)%vj7t`RW7}qN?2=uo6d=eA& zbBwzxCTdTN`&CcWW{>Mz4`kGju0N^sGfsmxChCJa5l=@(;l~p*B ztAl-8>O@!7kxN>@(}h%T39e^iBN6h&SVZzi zY$RfRs0sW%*Tg;T1lOBQ+YRj~B~fSM zRmF`_kBZO7>!}25cB5JSvU2jrqEju(@x_lV8a+B*dP{VZBXh08p}JSqKaR~FlNZlU za9Cb^_SpEmF$KO!@m7ya-!7Lt-<9qSeM5d5Jg2hHhR*etov-J#P0=GnUww_bwCd-v zmLw1VtoZ?_MS(GuXSp?BTI@7mnv40;Lu$ShNJrnev}Q?xtSW*hoSu@opy;TV$qj_= z=%){>^=$q<)u+vtXJHr(B-R)Wr2D^B{fa!#xE70Q;(}w$QQq{j96T2N$+xPPe>d(% zs7YXv&MwM9S77>pkas+K(zyaI9n16Gl8)D9)F@E;7oIHC)!3!=m<#Ns8~4C(&v#0q-s7 z0n_l=SL^4vkdACaHLLmFCTsQQdTA|KY7=hdXLnpD^`mS&=<}3ZUq>!S%T*rK9b!D% zmN&`0=X6BA`=Qv<8)BB%Qy zm*vD;3lX<@BX;?k$aAMgHSV+*AI8EL+zIvE8Y9_~=M*KB#B} ze|OyKjzpq8Q@~Sz$XF$4;1)L?grjoT^p<%cBD*Qh<*y5;RTw;F@sE%8wNMo;Goo~V zmDm4{o;;@cd!wwQ@F-3_ugAm3`ffxb^He-wL?v?8nu3F?6 zq(^+?Yc7v|jx*~Lr+P1WQ1B<78{{T*^W6F_DgjQ^=pD#~JU7^(o*P^#sbOV;_1pl@ z3;d|iGI@52%IwL?l)ET;MT6W8;wlZlJI#MB+A&5;h0(s_WeQ`};}>l8vU*~SoVT75 zxx}aWx2oF119i1J$#_PCsSTdVNRa}?vx+uQigu}4GO07SQB-T3HR~27@=a%0$j^Pib8_Lu?D5QHk;l9A{S50buZe z>&^h{R-}33j#Oo$*WWu{?ixn??88ytQS+$FZ3}dXxWSP0aa#G5c%Bcqognw4)a{%r z5JO;Tg<2UQT@o^XS$x$Rxmz9VUu0R3)xTteC4G!0s?LU+MOWv%|8kxZ(!caZB$ zd+`(+kySl}pTPNUZyz7xc~Z^xp>Avi{5!Re`w>pHkK2XlqdyG}G!d-wk>wuf2xoRr zl-p9Ss@>RwOW1lTopq}-&^CBY_mt+skGD)7f8m)%U_G>_^gcu&k9vDy|FPGux)`XN zIo|lHciCR6UPqj0r&TL~)!nP2kV$FB$o%nE=4W1pgS6aw1a~)E#$Q0(h^bO1m48k3 z{dkJ@67GCgpQ9%z(z94gUU=9;FV(w(ex=Knu1NW1Pqd;Mi?dc#H>T6Ni&n!C2+w=q z+{v52HATk83!Hy*^>q5)TvdbvLdUAAOf|GvQH_(E@z@KZs&QhxYW}k7EL#V!y21)u zBaf(6waN9q#`^)7nW{Cjm`ciOrBC6D?+3^V65I#Fd4XQqnq^|COj|4E}P3E~}Z752t&2|J1Mar=nGIJ6JyxowA-Qn=oGJ8M{ncAVL?tlTw1X z@toxIqT%QaeMvZpF@d!$kMNy@G|xr{fou2Lq>uFw46jGvesAz)gsprT;pVF?uU{lp z8eYBSS-7KxQ&i^F$%Es3Uj*-^AyaaOjBJx$b^|Vs6S00ql>`ru@zO)pFx00$|NOhu zsL!fQ{C2;>Tiz$ys#DxIAC#Hq{}cl#+^t%TbU?zh;i!V=aKulygqx2r?hdQRhDI;s-@=T z^_A`E$vgS_il_7ogfU`i8mNb9*ded6OuPvzQS|*^TgA>sO~m`I3f6%ab+9Tec^!_A zu7iQzvI5jWNGrYoYp0%4qshfcNy`5fY!xcC>cT+z!ZlrWJ#V`%ZJPXn4c3NT1Aqf@ zOr88vFaNgcr-R2^hJRQiVBJGUrI(%~_16eLk|t8MZt=*B(CQz`F0^Fpd7AY=gnKYz zMiSjzMO{|AA~?O+cydXK2~jaFpfSwd!85HX3#LS*`oN)?K`wjYS*Ddk#cruYYFik5|cV7B__$q zb37A|xN(3hVq$DWi$?XLXX64Ob6Z(8BpXKKY7pkMe zjC6HW>OCZTTIgdV^_@V!vR=E6@E$R-w@3Dfi7R*aj)|XDr+ZAB8Bx7r5{v8hjTsub zuR%;Al2+ufs#bihZ!^GIr%400+=S8gA)@5ZL zgYgCP*e7N~9rx9B!p4YFTmQe4%Q%bSR&k<@%!uqB6IYCKXG9Ka5EBOltpy>v!OuPP z|9Ck6@goA>`!(zp;Frj9e)!+Oupj8KedSnrps*o2^u|7dZ}AMd81C8wKl( zcNca?+2M(bMuh3 z{7I?fgK-~Y2s5$1jziK;6GmkF%v5UY_3xrj>O9E$po5GYr9L|qj=VAN?@~ER2s5#o z)o@Is%U&JKJp4Bi{YP0#O1du3mzA40I?tCkE_DDJTC%jWtdV1f=Q}llV=8+s68Nu* zk}O5R;1l`J4HU_-As<^Q{x4lG*e9qrl_xr6-qbXHxs5qqnl) zU5}m}QZxGIWc2Ny>Fb)6r81M$!Cd5!mXqmAO3E3LJub^PE_p+h420;Y^P4p`KQ~YLu(js@ zpOh)&SlP}}eg7~_)B0PVwT}0wy=fo^;V;Gi;^N*lcVuBfK92Z*IAAd245@?vg*MYw ztywFWgcG%IR)@r_0eMA*d0F}6va&~y&d*V&19}>Vb0nj0=A~Jg8Ce4cX8jMIF8^K8 z|0j=phfX;3GWs7mwlHs;OaeyUP?VR2GbD9DX4n741A5dF{cj$p$T!kA3FBPca5`Fu;o(9YYYKnk-xfayrdd}F%(Tsa zLm!D+!*n%4z|0k6T9jpAS}lTEgI|?~Z7>iV-0N9DNc4Xj;%{OOOi*hbbBz$rF`JXZ z+Qw}U;~cvl#?&@u)4vhxzZmW~ru^T>8FK0zwLOG}sBzTf4zH~Rg@mvli`s-SYdNg{ ze_1!yk;^IcC3Oi*7U9BFQQad_Me2109K+jZWnDLMVpc)kxWfFgctOB7DQkS9t9?%X zm@(*PTCt*5vlJKQe$l6C0jR$sRcr^}PY(9NyBd>u}gFJXsnZuNESaQX$IA{4j!%68~3 zw=1}ez})M0rI^kDce{E7xF&dH<%%?P_57VX-Reu-+Gh~m>g(M>w`Okj6>sedqFa60 zJLuNTt-cDbT|soKFNFu)nz_}}S?vm$qjQW?a zkcVz=*T7H_irY2FL6hi-25Rr7HAm7yXOx9chg{b~n&h=VR)P7mGO>TBxZ^z2X( zid%hgJ#?2_eT6-oo);>rc&>BMM>y!$JLsbv^f3;)d<8yqbGyR#ux|CG_;CIUL&Sbi zB3(gUJ?DfbC5^CFtf(;3U+c}S{v}Dfg6MWl2s#Yrww~S^ibdV7Ngs|-_eg}PygD#&m3*FqVheJguZr39r`go-bRBNxy zomNX2s9(np?6QvFK-ZZ8#UfVChxS*utK9=buE4U+!-am;-s3(<-F{|QP`96{PgA$b zp&aUGzWTi?WF#Wre3f+1Rv7$Qtmr`3)S#r;GV1mtvy%D(oB#KyH?!#*sM}=MCMDQo z$Lqb+V{HMpQ;)alyQnAH^q-YGwEgT=dX&vK{_jI|P|+d!V5Qd&(Qi_EgAn~;rOT+J z=C)7ijcbZ6QYaYcByrCA^Y6=MS{yF%+z_PEv8QA2~cU7_`9`EMBNS;Z4t&zAqtdbac!hj^Uo-`)zX;BHqF zhj{cV)SA29uBJ5wy4-=)t~GbNUG}rc+V6IqP}5@|p5_jEoP&O%gMN~O-oimY*+Dla`^z%dF zzf$SyT@AHQ=SMzk8}2N6#X)~V#gh_efh<-@v86o<~=xSRVqXgYzGL?RLz`v}wmTf-t zR*}JRk?widLJwE}A3Er9=*q+SAMBt%;-J6ips#b#w>s!QJLrcU^rk3yxcs+)-dg>` zmQ`Q6-ljo6&bVJB>&|6+-XWg19Q2;~p8*c~9nd8|89d=+jk#>{ zuT$aTdEY_*)j?0fB{p0<;~n(Z9Q1D;^t}#xA}-1Z{L2s@8{mv5ff2_ZOp&NFEY*o-(8}~ib z8hrTr6c^lZ{-ZFYll)lk30iC8CDKCZ;ruUh(CZ!_-hXcgJqvm(*BycUw;`LN^yvXz zkNoC3#Phs^{;i7V&Okgm{wNGdTe(UDx{m)$=u!{6Ii%D+E^*MuP@l@7rhb>^0qV0k z)SSqa-l87M1}kgxW!nKgTs`k`&<{K42^dm`i{}al{ZR+qjUjlrc!oRZw>aqciO#ld zmDKuu!omLn=#Lrq$8Z@^+gD1zkuH}jg)ABe?lI#&oA%#X>5~Hfr;-hY-paUdrbphT zN}n9?ugm@%bj<@hK{hD=!TV{t|JkkdDFLr=sx21nDO^0s4*Dg~Td9Aaw!-W9uUC2r zV|BUo3}lwlZw=^r=JTA=X9jeghqX$-EuddS)&K!pseiV#1f75NAuRdR)0`Yv$dYaQ zBkQhsc$Ozi^~Sd^z(f4@9g^^z44>I57?)qrzFTKkR-g1sdvs6F$|@`xmX(&pS75EE zGkxjZva&|z%L9K``}Ce2upAb@9n^0}_1j5)JK`A~ev{?56CT9jSNZIue0Id+JnZeN zbn937@1*=EDMcRnrT6TtLUmT5I;;3QtN1%3oBwWUdS|R#3$uVbu-3I#cn{`dQU@=_ z0_N~>1Rv-2?EEj*2P5}^rJes|UFb2d1$8K|ehRF2JH06sa==0wX7J4)__eRp4%V7} zaVLzYkhS3Y^_!5ykLleDwSMzoMj^}4|6LS+`yR``jN0Mll7APgdQm}lCztl_otZi? zYhd>t>8V+$iQLf{M>zxKl_e~X30bNTYze7Sqj+D)TEULb4Cn*pxICs84};A^jnmpn z*S=b)hL`ZM7-xR?I1CRCF$DV`S+I-J{ar@GdodEB2m7fMa+Y)pePbdt>0q`0tM>r@ zZovlLuo#^;);g%i`oaX(srSnomsc=4J0~x7%ox0PG3K8|gzF<#aE?bL|17+$w6ned zES)iExCKh0+eqJurFbiV-_Mj&H zyK9lXk?G4q@`Q0%Kq;dLEQHNhRhr*fX_B5*8%cpT9I$*gXI!2v+QDjQpP|c}1nMIs z5`*oe&`BjFB53}2Ciais8gY%u8lLEl5TI{K=YbU|M`d= zU!cZsUiO%9A@#dOD&eCf(n$t+YOQ+bz$;6Lc39DH#GI6+GI9C8%f!ITQHfz<4|ykw z9eo!pqR$?k*VF1eab+;xs|rSg8n7}M5>2r9NViK?med!D#5LRDDhzEF@3UCtr|&de z#1ir9OP4G((T-Wtg8OIYcPuFK;dN-mI}aaSR5-%wzs=DQUX1Byy*P~&QMYom5q)x? zE6BeNUl9-X1kyT=wHs8ukNTjvyh__iHO5RID^6eij7F!gnExy#oU7Tsywm|>#;6mg zV3MkUV5X0)T{3&tv9Wr`VcF8_75c(m3rEY+`uqVn&l9us`Nf9vfBd~Mbwd3gO_c+P z|An_=j{bHSs?VWMXZs8t1=cv?PJzRZvUE^ueEP5Ek;WTKstE+H2>;iSd?JaxLt+3z$C=$4aTFi8yqtc#p&h5Rwi$9R_i-(T5Bdxu8#|AAuQivfD@ zgFY}Q2L=~b?;6Q(3*Kh>JR33&*4y5r=la!C9u9jCkS2R`)gbtB7?Ek?9+amxn{fX5mI!IRi1y z>Wp!g46H))U{1-y=fdv8o=bftz|b3`r6e_4vK1uYB`N5|sgFzQkeioR(9`VboKnor z3`XaWVmJ9a7fzf;%F)dn*-50-3{IOmM;B%766n4dKQeZuHGeRAQQN!&R<%KLFO z-$n}^8yTnuzva=WE)WY~nz6$S4f%E=U(vhgxi zxc&A{CNu`!hlJ00jlK4IKIU;z$h(Kf7=t`n($AZ)+{v{HCZF1sZNBWpX4jWma)`dp z(C2~cc(zf;vJuzghJKK`J^mQ3ZxMa9;lI71oB6!RLC>Hr=`J$j!9UulP2xB6sXomO zP4r5b&i@L-|67JG{{keN_+Jat{wF!;vkd)R!~YwGZsupXgWi(Qsij;MMm#;J+sk!{ zp;sFIZ!`4w4gF3demSPPT=<(LwMn|`4ZVpZh|R9IrY`USOvlsK@c*Hq`yF&y=O>%Q zzX7J>d4amXM~1%8@c*%)A2R%#`H{agl1-}nN|=sc{t8Jp3APcY^=^j#iJ_+$`lp8O zHFUE*kDxB;US;@~b%Cp+h&32n_`2XC<|E-39^Sqm5`2WK2@8$vvN!P50wub(t;XlpLw-|b^ zp_~3?{i19Vzv+L4p_}P`Z|G({{9@=|AuioM_Zxbpp-0F8!6xZ$g=zn1P!}-kKh5wz z&+wmN_&4i+xZ&Td|6;?xS^p0h{>}P-%+M>1bl)`ed4|5v(9P>eJlCB`dEYbq%X&)L zL^u1No`!D5Kg`h0_$L^;>3@o$S0W8v&kGH`%FxxH!NM)Y*kR~@Irxvl`bgQt|Bo;o z|LfGHT)PatZX-CbiM}1C{a;C4;;At7xzwef!IGqa|7VPNDh++Hp_}o`w`XOu$Mc2Z z->lE=hQ18pbUt?*`VWSF*wEiL^o3YYDVvmcElkI=$3Z_1>n3HBdN9W`Us0EM=D~D4 zRahS>n?3$fTzF*Hzol-k=M=18)bW_{-(=`!{$(AcZ1#9!u-;KNsplauozJG!B|qkM zp%-;~Jg*x5e=*{T#5zdX?BzPq(5tXtr<+OLo}a;ne=|SV8M@g|-e%}qjQE!t@tf^) zmEphA@W0;B&35&vp_}#pg`u16?INtRluhd4H<&K(bVE1edEd~@a(!p$X1VUidPmtL z{%>G9{`rQ!$Iw5bF7H+(Z#4AX4*Gs0o@)*N^{{SIHp!0}PYVaVHFe34tY+5v z@8IA++3-Kq@Za0P|FsVK4Tf&k|4avczM-4-xzy128u|Iq(9L?-Zs=yZ`wiWUCsG6+KC3k={0}vBvp(|;-Ms$ZXz25dc%~b=8UJmDZXTEUhHlp9kA`j@m%WB=9vAP) z$OJYiml@AALyy2cE?qwxsY|^@8u}O1rQUL3+W+@PJmz)h4+q_K3Ib!3c=BL6o>=OV zPcxp@4tiT7p5aD3$qxQU8u}-O{~HYbQ$wFfUFyMY)WbuDf3x16GxR!!|2GZYY!4qe z=sy{{8GpS~kr8ZCKT$^fafWXCZ{whQ4c(0AN<%l}$u@NP28%vk;|;x@q2FuhW<0MO zy4h~)wN%9lIZscfF6G?>)9IdT_@8U&Hyi%98u}bVH|zg-2mMt;uQcLWYUpnn`Zns) zp3Unfszhy)e=}X)Mpfl~9{Y5;;+1df_?rIP8v1<0|NnYCZ5+y#Wawr+9BX<1Z;L;f z<*E-fkNZHQyo0wc+B%6p1R~`1Wc!Uy5WDRp{E$S8Gm0xUuO8%&vzuxo82-(4-!t?|aGg){yxU>u9L}rqn&~?E=Wrmz|LI1$ zW`2&RF8Tk?NSBvKRsUvw%znen&v_2<&vDSDP0AJt8v@hyVAk7bhThL;C%X)NhoPJ0 zsxJ{^v&SDpU5>9A|6PV|#=q3is}M%#a|d++GyheFe>46+4gE_ap5{D|lAkSx-b@5+ za$G84I^7GX3z+d-Vd!Q&FB-a;fB7DVZ1((rZTL6yzt_;sbj{~?X1eFrwc@wue*krf z&WvY_p_}n+F?6$E`p(ejAue4%)rM})7Y-Y`=|9?d?qkN^+|aih@t5 zH1tX%o^FP2`cE-*)4$iy&3tAUx>>G4hHmEb8bdeZ$uo2_p6d>_De_h3h!{ z@Uc^T|9Be7>`pu z=&^Ba({169ZWBX~W@I9n%eXK|Yh8{yMP-5u1u0)z+=zN5$6q$?3Ci&50esNdI4>r+HP|W&~F_>(kH&@L1 z`IB69-M5RR&t=h17J*wQwhhrw)gn;OD@Bht^wEa@)`mXQ&=U;(8AE^F(BCrjGYx%} zq3gCGyX#0sunCYVcVk0us}$>Ju%Qdxz<9F_UHt31e%8>1>hFWSZ0O?uG?;99z974m zmj+69Me)Kcn)olYWY;-{ehxK(&W0}ji@9%vp|__daD$+eU6F?8{N0qb9{V-&yoTvky zdW518M?$@!1(n#J@G51zniqr=08JrVvA>|p#AIbCbczmiGL{l4>WX< z^!Jpe+I0OrCBLCdJhK_kCx#wwTmi5DXlseiph=jJDb#e|RRQ;07!Okbox-Pw2`_Qf zHvHf);U7DO@VQ~aKYk41bw91o_X>m^dko=A;8!-Y{+@!nw&kC#Le~uc^f82gnBmR* z%NVz|=`RQqUh1T_;a7$Uf5S0^-^}o4{Vh6%@H-ejmRJFlxms=Wzn9_6^rdgEZFm>^ z7c>0!V+b#EBH7I2=YzYp>BomjU&c|j4S!CU@Vky7e77*+WnNp`^m~N~|I0Ci*W(dA zR;xf*nb*}eed{~p!Lgo%mt#`f@I#q@Gkuvq);9czFyUoBT-)&a`evpddko+J@f{CcHd9tZn$sVZzHjz1oJ~ z7AE|`V+g-1O!ytg5Po-<@IM|y_yb|W%Y4jU{&;BOmBUjoZXCD%)lv%<>g%yqTYyNM zDOw;#-(iu#7@x{k0Xqw(`-3=e+0KAT`kbDKq_)3WX;u?itblk9n8fK6-tOP-PC{7G z>ax6`YI928=FN3Ae1{86O&&uN$>tu}l5UWf2qYMFkqL--ViKU)1SatPn6mg(1v3}5~XhR5z2 zo4x!pFAZ0J0~o$WU^wjYEpZ4xl;Mw7{ub~MF8$nEra#pod_gVK-{KJ7SIhJ}qVoxt z|EUarwD#8?;luS`LuImtP4`n3;1|N|{nuoN^k>vE|1Ud)pUv?4ISZ0jo4x(acgX)l z=HJV36~GjjJ^!0^`q*b~%b33O&*m0sI>5iz;cYv1FucusNc%k%2PoX}+s*JtEB}cI zk1V)SYzb9{DSt2cv6sJ(L;9zlW{Z$cTQOae9m2;m{L%71!6EDuNCjb4yIm}-FCqj@UB5f5r@eGLA?B}1PWo{)pyeWb&VE7Mg z@!G@R$ME+0pUMNL@8jy|b^dj=JjL+#@$+W;foBA^?6}UYAHMx;WBA8)!bE%fISb*# z)ql6=tN=q9t^zm&rt`0_>(4u+KV2p(VK#gIXEq3*|Je-xfh`Vu{)-VlT>j@gX9b+i z@D;!;m_7ejGz_2qwP!P+4ea@s|AmobX+M5L8Qy$$C{fw-UyAVI^55opE8#>7Tou4! zFnj)Aa!7wN(`WDi*z>>LA^cQ^XEO?fx99&Wgb$bh!OvSkybM_Z%!AqUUk^8k!`0t& zOrOC6V9$T9L-+*@-#-x2BKG`eA$+*}S1|uW8NLEI0%p(us}AY^Rm=Rp-Z*^u^cj;K)+k=gT~f$-t- ze}MU~WWWlbJpZxhKOHw1RQmL%VRu)H>Hja*x;_0q2p=x}#V=bSMo8q?Dq!;b#-4r_ z!lMa<-2XYy4I(z}-*SbzuX0E~{#7f4zD`uYSp?JZX?+yJi{`c;7%p7b{^3P!cK0Ly zGW>@}2|tzTYKYf_c;qPIQ*8d@ZSHfMTF2i$e$jt**vjVL9zL7l?e*7&^=EG{_WB!w z@Zs7|Hy*!4re6V+du=+rK7MyQ5%`S46oB+HUjBu_nQv+AHn>4>9GPh z1!m9xPY(H?TFd;Oga?#zirMSGqL%q@hVbF)e?gf1PY;v-K1|=h6VT>F{I@JDO^sR$n~{{_sy+5XFro<0AMI;1~` z>9?`vSBKZK{7+iA^cOSzq4Zb*EQjgvx?CF^(yy##`tLiWAGgR#c&G*H`X`T6?CD2h zkzly`-&M=><$v75m49NG^zRIleiw)IW4XvFp840H^RL}W2p=x}%}n1*j}^eXVLH67 z|KSelCo=sMgfTZAUTfJ7>Bqlj`FNHdD}eXHbavTP)9GqmzNaGXPhV$2)mF*$+iQU+ zer3}ri&+EQ+NFMfW_UwV)b6(#!`p{nyBU5L?r)i!&cD`T5k6e`x3T=@{NoV>(&2Ua zF?t*~67 zb)An-Ymd(z);|B-c(o;3U~o(6(y5cuIwp1NnB1Wo_|OJZQqy}!Mnt%SabFbnSRR<% zMtgCkD3;>Nj=wfu%03kZl5g$_pAIZ0m-||!^2dQskjuTVr^%lIK1)6i_#CW0 z=GF~3zn1?$p3nU+0AD0u0DPJJ72vDn3xSKsUjx2Q{swRf`I|ub|76MgQs6RJBc#`u zX}%42CHKDrTmh2>jS<|x67E&pzZ$rPd@b-@^7nx6ldl7=C;tHWA^8U2N8}#^H z{FHnX@H6tyfnShs0e%H@BTsdhudQ%@&HdYe-;jR`+(Et*_#OH8z+L23z#qt~fj^SV z|4IK$F5hO{P5v8j5BXl;KJwpz@~uYsKA*nFa{%r?V29CO{$iUs2=^hF9D_e)ANgOv zBjoZDRs`=eMgrZig9v|!anyl3iu>yV>ybwT>ytMGHX?5fj3JK&HX&~cJf6H6@C5Sa zz&P>~fhUo-0G3UQU7gRM@X@|3iq&&nLeCcp>>kz>CRK zfZfS^0DF@60;ZDp2KFKM0_D4%lGY`_zU1k^e&qdumy*l3JTD`c|2NMh9|#;oemU?8 z^1;9>$*%%lO+Ey84f(aeEb^hiY*>5L#ks7HVQ}ZblHl$@Ef?-QSSPqUQLpxF^8|z@16$M!0W+4TAe}YLnr<88#U1E2-TA z_Y~OGa1Wt274B)UYvInKHXZI_ST@|lsFlE73d@B%kJ=2lZ-re4_Xuh;;r7F>hkF#Y z+u$yPje&bCwOMeN!wTTOf!ghG-vKLx+ed9S+;_sp!##o8U2xwGn*{fb)b4@%Uf5)~ zZ>Dx1-1oz#z&(}P9Jn8VO^3Uf+JkUE1e50gGpIcb_am^GaQmq}3in)C8Qim|Rlxli z>~^^Cp!PW2Pr&Yk`z~rv!u=HN9=PwN_B7nj!0v}z{=;6*sb}Gy2YV3ihp0UV_w%qv z;C__ae7IkLRlxliwHM)j3HAisPf}X|_sg)S;eLkND{#LGn+NxE)E2_M2sR(?7pT1k z_v^5i;9fv&G2Cy!B(F<=Z<4ep$bSd!CqDrEgZv=y5c!|L z!{mPfkC40M*`64VS0vC)UI!ROUKd!8JQ`S^yaBKwc_UzB@))3pJQmo5{5W7!^5cQc z$WH(^CyxW3NPZHq1^LOqQ^-#Rwj`HtEVm+W4LprJ0eCw38Nf5i+W^~=p9MUd{2X9A z^7g=U$rFL{y=JMO4#1A&oq(Omy8yeAcLOGqp9egj`~u*GcqRE&z^loJ0Iwmx z7MMjo6qrpu446Zn3(O-Q4!n+h1aKtz^}tc&qk&_{#{%=oZvc)XF9iC?i-6kd@}H6a``6qRPt%S>Ey-067m_qTghhv{p7a+%gD=tx0Bxily?KAZQKdGi~Jto zz2x@+?dB>x2XDfuSgXXKlKpOb$9{E~bN@GJ7Iz^}=-0ly*N4*ZsU zC-6J+?}59>tAIa{R|9{9y@G4rtGw?01ozLdMR31H?H9Or!xqE+2DM+|{tfmf+;36a z1NUCoGPvKSwh!*#VawruhuVI)55QK!y^7i&a36%NfqN~rLva5Idk^mSsU3#=G7)@Ru*nqqtun~Dj9k`nwxRYKLlRu8n*1A}{2#&&x_1JNk@Go+gtheEs8@H^TA+HOpM_wP;fV>f~ zF}VjQ@6${D9tUg+Yex48z~-_>hn zFoS#mFq3=`@N)9Oz$;;+VPjzO-QEZ>(5v9S8kP?$fc=Wa0l&dy-w?R3fsKO|!nQ;I zmiw-SI}26>8xNCj4S&LYL*dSbO@vK?t%1Il`-Z`t1G@<}8TKahx417C?mXBnuqm*Y zpfBLQ;c#CEn+BT>djk5C+&2R5k+2e2DeQjebGYw%xJSWmh0TO{P;U7?v6SyNxXWO| z%YnC(&j#K}emC$Q^80}IlRp4_ko;lbBjj^|737ZtpCEq<_%!*mz!2z-hB zW#B91^8X@>$YpKXV)7-xH_4X*myuTjmy@pmt|VU#TtogY@ICT%!1d%G0ymI<4BSZm zDR2|{X5i=KUjny~Zv}o${ta+D`3~St^6!DW$bSGPXe|e zKLvOyc|5Qc`Dwre@-u*ElD7q(MSc#j9r?MyMDh;6j^v$zUC6rulgZBqUO;{k@M7}r zz#inifT`qtfL`)TfPKmP0sE6@052oY1P&y>9C!u!mB6dWhXAi3&jJo59|p`J&jSu8 z9|0UmJ_On z1U45Y?h4>zuqWt#68IGC8M>bZ&VxNq_k5tN34Mv~1;CeKuhP8`xCr(--HU;5z}}?$ zE#Okv+jLg~m%~=jy%M+zwubJtz;|Kq)4dM39`+&K8-O3dHq!kG@Ke}lu+7vy2YvzD zLibm|t>oK)-;i$yeoMXsxRd-l;P>RafK}u_0ISJ=1pWm33wDIsFTmZfdKiO8a~%E~ z+zAw!Tmd|0o)C#9f11}SRJ^dsKo-Cz?#Bha6COcrpLqG3?|33IWP`(65TC; zC&NyqyCpCl)|&3qfC;cO=spwJ26h(RX9LfHwWs@BU?Qvo-5r6QU|s0$3hV|ukM8q< z7r-u}`(j`UtOwmafxTe8>Fxvc!Y-k^FEAa}pYBV68RP?indF0jmy-_$UP*p6a0vOe zz%24?;4tzWU@rM}z!Buv14ogM0gfdv0Ny}e2=tMU2TmZL1iX=aGVo^dDZr`Z(}A+S z`Ayhc)JlOfU^8KU*ln;`Fgdp6z}sQ7VRury3wSr|Uf6xG`(Y2j#Q%f9hhUGu9;G%H zSOI$+_5|!n*wZla{|xY1*mJPwsm%wz0DB3xfZEHzS6~Zai>SQ@d>!@%Yzehxz_-bl z1K)wIq2?*iY0t)qKA@B{J>fg8v_25uz(6u61}GvH?O&w*c%e+k?|z7_a2 z`8UArn$-f8gBA5R<`+@vN;7{bg0C$uB2HZow5BNLz0pK6xhk$>Q{{=ik9)U$l zkua%yH?R(QU0^-(`oIR{jew2GJ-}G<6PM?M}nfqWA1M)JwPo5`mDr;<+x7L%6(XOPbX`pL_Hv&e4;-a&pR@GkOu zfcKK$2fUyB0pNq=4+9?|p9`!Ye;oJ(`BT8B$)5$zBYz$^pZrDOOXM#DUm;%zTtxml za54E3;G5)2fy>C>23C^416)DA61a+d4R9^_d%*X}*8@Kw-vIoGd?WA^@=d_c$Ug^u zLB0j}75Ue|ZRFd5-;(bHen-9wSVdk9{E_@;;4kFA0)Hdl3*1M(A9#TLAn*|RVc=in z^0B!HG3gV4b;#=i>yg(7HXv^VY)tL}#*!ZgY)ak?cmjDG@I>+!z>~>O1-2w_1#C^8 z06d-iOkf-Gvw&xlw*$5(PXs2BcLa7K?*i;fo(w#X`~u*G{5D`2c{%WQ^4Y*U z$?pc1u!8(?;1lFe0iPy+7C4XmdEk8V7lAL4zYKhZd?9cV z`Rl;N&ZU^ZXo{{xRLx*;3o3Tz|YCQ z1a2YU3jCV<8{l^G9l)LB-vf7%{{XBe{|Wdr`EKB^a7$$tm#C;tO@ko-^JVe%tD z7Zy58`;P>=$)kXE$)kbw$r}P2k<0&}ddQmqk0U=G*o?e6Fpm5rU<>k7fTxnj16z@w z223D719&ERTi{vb=K$N0p9@SR?*Qyb-Wk}1yc;l?{CwaAN4A`yI@_@r(Q(@DnjR1~>6~juX`GL2Q&jOZ{-vOLW zei!g=@_T{zkK>iT$Ve&_TbIBhAK2H85@G0_VfX|XY2YjCV1>lS13xF?^%YWo9 zB!3O~I{6#GCFE}bmy*8?tR#O2xPp8Ya5ec_;Jf7S1J}VmpnC)GBl3;FPsld`KO_Gf z_yzeE;8)~d1GkZH2YySw6ZjqZE?^aTHSkCBpMk%S{|fw#d@pbx`F`L5@`J!bF1N zaxXBAye}}Fyg%?#^2>k&$Oi%kkzWCn|5TQ;Uj@9H{2Ji3 zfv=D+1TG?f9k`f$2~gg%l=@r>Tt;3ATu#0MxRQJ|a1Hsp!1u`40oRj%2;4yaF>oXK zr@&3*n}MH`e+k?|z7_a2`8UArn$-f8gBL4wcP5u+`XY$>^U&;3X_mck(+)w@o z@F4l0z{BK6fbwx#sgp>cn>-3wmpmF+pS&Tk5qS*IL*4{<9QpA;c^_2bYz~Ygmv>BC zke>oPl{_BUiu^QS0{I!hGs)Wm&munu*pB>MU?O=3U`O)Kz%Jz7fXU?N11}(#{|djD zygRT5c`slpxxAO^CBFpNm%JaaKY0f5GV)B|K=R9hSCC%`yo!7X@EY(ymfTPLB0`p<-!rr4M@3D>}F9iC?i-7ta*$LnisZRplNPZJ=GWpHGTgayX zr;<+t%73ZLu`LFcke32yklzZNN$v;UMqUP-MP3fPo%{~qZ1OvScah%>yodZ=;C<3siwWokj!+wJOOzm0VJlJm7uhgCg z&WF7Sdx_f1z*k@kVT-7}4qOad0(+C%Qs6RJC2Tph6~L9S)vz_x)&bYUK7?(c_AziH z>{Hk#YMX(d!@h)Vp|%zHHS8PMc4~WodttxB_EY-G3Ko{NxjfA;ja-5@p zb;+ZF^~oCo8^K~=9%@a1$B`coY)0N37zaBE)`Hq8z*EWNfvw0-117-EfSpOLE$}Sz zbAav0&jluucK~)I?+olh-VK-xy9jnMwex`&kaq|6Anyf~caf#seSltadB3?YECY5K zwSK_<q2zhM;p8KLBgsbrN0W~Q=EHojB5F4P z$B|C}P9(n(coX@}z+1?t0;j=dz;2~h3@jn{18*ar1uQ4O12~)fF5um;IWT#5TI%aw z;C9T`X7Vq9U&6M*zM=LN za4Y$@z#Zh@0lz1&0{%e$Bk(8kUx2&Ge*^9z-v|7i`~dI|@_9E{M>_eUgyo5X* z*pK{DU;N|3lfmf1W4IDy#Eij8*-YXwQo(s$)zYaKp{CeOh@-e`%C0(_Lb0{9sD6Tm0Qp9VfdJ`eaD`F!9DZ0N0Yg2YjD=J@5na4Zx4cHv&H)-vs=O{Bz(J@4z!dTxz@Fr(z~1CuU>bQ} zU^;n!;HBi30SA!(KkQuzTvS#2K6hpg42#ZyC}^frVPd9fS&3PJ8z*0^Ikx@)11=yAK;D5Zvx)Tygx95`9Rmm_G`9jQK3!geaF9Ba>{tEC_=C1?aVE!g> zG4mzBx0x>mzRSD_xSaV4;7aBtz*6R`f$uZ_5cm=EPk?KfuLG`Uz5%$A`Deh-nSTNN zlKI!bEzGw8zhS-|_#N{dz@5y00G2V|1N@QsKHz@l2Z28^KLq@R`LDp=m>&TiWnK=X zORK4Tnt*2J5*WhV3JhZ&0gPl`8)#!51&n4M1FXwD78u980q`v5X9F8CcL2{}ejYHM z`T4-6%$or(V16O61@nu5t(ad7yoC9sz{{Ao1tv1T0@$AURluv6Cj&b$?*#13JO!vT zzXo_M^EBXf%+rC_Gw%lM&b%kE7xO;A|1j?hyoq@~V1MQVfCHIl0tYi63LM7#R^V{v zBY|1WZv*BqcLCkZM*&AO9|OFT`Q5;KnCAhB5Xk{J_j9^|1Sev;W7{$B}FothboXPxg;1kSe1LrV*8u$$JxxnX`&j&uwd;#!9<}U*mGJh5L z8uK@Ri0xV^|8u&i*4}l*s{{*;(`8wcw z<{N+;nSTcSocR~PFPU!xe#3k_@H^%^fIFH004!s^2lylNeZc+94+4K;{wwe|=0|`> znU@0v@2NKd&CDe*gt-+M#ykQT$vg@e%{&HJmw7BOj(G#%SddbJUducU zcpdX};PuSA0lPEr3GBtZ5AZ+C`vPxb-VfNH`2gTR=9$33%!dMpF~1c!ocTy#7W3PH zIm}%^H}g@z(agsH?__>A@E+!Qz;Vp;f#aD^08V7?0ZwLqAFz=56d--4nCi#_zz3N> z1bmqJBfv+Q&jik5{sizz=5v5gF@Fa5Ec54p^O!#me1Z9kz?YaW1ir%jHQ?*a7Xja7 z{uXcv^LKztnJ)ttF)s$LV7>}i!u&npYUUpRKV<$f@Dt{1f$Nxm3f#ba6Yw+Un}J_2 z{|fju^R2*b%)bS0XZ}5K2lHLPADHh3?qR+cxR3b(;6dg;0}nAj4E&Y(@4zF>j{(b> zYdDu_;bJ z0yvU+Ht;s)xj+~5+kvB)-vJ!M{4U_#%*O)rnBNP`XI=oDzpAUSV`2ygJ%wGk*#{3Q7BIb*MZ!v!txQzL7 zU@`NRz*WrO2Y$f(BjCr(*8tZt-w52q{Bz)D=3fH8V!j2qmHBtT@0sre?qXgB+|B$) z;9llG0e@!x3-B=W-+;d}KMFj?+>CS47Csvt0t{sy1`KB&39Q9D8d!&UU0^-talrb_ z&jL1N-U!&3`8mLIna2a0FmDP>V15CxIrA34mdslLTQk1|*oOIKz{{B@0^2cf54@83 z)xad?9e^E~cLsK0t^-q+{E}9<7UP$7{6ltnsF=RHpXumw=;gvxPx&Q;}49x8TT;mW!%Sj zfbk&X&y0r{4>SJC_&ehf#$$}-j2b?+Kx0M|qlHm2hB8_i!xlld z?HI3Mypr)M#w5mM#*U1g7`rg0Fs3qI!{}s8W9-V9&Ugc3H^v@}JsEp5_F=q{u`lDz zjQtoh7zZ#8V$5V5!Z?)i7RFl{M=*|L%x1ieF_+QBcst`L#yc3tFy6&@H{)2wJjQz& z^BD^mCooQ8^e}oE?_<25aSG!!#s?UuGd{#PgYgl@#~5caKF;_A<7~z`j88K@!#J1m zImY>n&oeGye39{G#)XWpGQP(62IC^e#f)z;zRma!e#Uow8hxP@^m<2Q`oGJePSJ>yQsU5sUnyBU9E z+{?J1@c`pbj6XB}!g!eRH^$!?k1`%(6!>;JwWk`RnbE=+!WhaJ#u&~R$ykfg#%O1Z zW~{?lm$4pW9AkaPvltsPHezhdcn;&ajPZ<37@IOCFkZmeoUsLCOU71=tr;(2Y{PgN zKrj8`yT$#^wmGGj-^&WtIHsf^b$rZIM9yq>WeV-Ln&jC~kyWW0&7A7cjNK*mhQ zA&kQqZ)F_8n8kP-V=kkcaTMbnjCV5L%{Z2E9AiFX0pmnQ52Kf{kZ}s*G{y%RA7Y%r z_$cE{#>W|-WSqnJG~=_3&oRzte1Y*r#+MmiVSJ784aPSa-(q~5aVg_6#^sDF7*{ct zGOlL)fbk>7PZ-xSu4ml9xC!_<^Dh{`V%!4U#{65x?-+M5?qV!s+{3t+aX;fh#-AB~ zVf>ZxcgCZP<&2ucXh+P9k};Gqj4^_-7NdXz}StkJ7aI4x2Gksmt`?E>37)|xEa6H#_M;?wrlO(er<^>7MnvCnkPWTRs1GP50g{T!Zz3FWjAVFWe8(FY)0w={!06eHzoH)9E|w3UZ;EZ>YneF$GSHrUiWlH=%u=+hh6t-N1?R!HLLu}WDctX7? zmPEw-x-J$^iiKlwT^Fk-#p@ZE3yii77F* zw3HZ6*GNw!Kg@~tdygj@biMSV!_mE1GA2THkK zn3YXwK}zC~<(wFmijw?v$__+XFU{A9;#ZP?J+an@px2xAK>Pb>evutY-={=DvwbF> zj@i0bdF=G|w>rH;?WyLw;&(bd=Q%wW1%~S^%uUh@bFF%5M>_=x#7-N`cNN~*-|6`U zN(U){2?`65?);)8s9Py@ML@cz4s_cZx~_ODtf3Bc^ktcfjP4}^&)(9GI)&!++?ftH zy~#~U$NtE;KqvVtUg%zUX{4Mir6!hB z99%Le%}7^ZNU3Njb~?R-;;l~4h32wHP~NDzde5eKAxD(kf+AOKt~j33K;KHZMN)c( z0m`2$dq(B*tn&Hc%X8K01(Xje8>(E4+fCn9M~fK}&41e(E(dj3Sy-MshU_y z1ZhIdp{kW7MI13aqEZ~h@Q6xDAcjX&N-JV`M5VMPhDTIN5-~iYQgmW?M5Uw?!y_uC zH!(b-Qu-6aBPwMmF+8GDvWejll`@(b9#IqXl+=tiZhVoeg+KLPBPISO*;eoqSsk~M z5^ZGl3TNSkIqFJ5mc(;WDyI zHL6@Lym!Sr^!yceJ#h;c1fRQQ3Gm#=Gs8pG>i?j7Rv4OGki4p*BOSU|wVX!jF|!@^ zJr(&J5I~tP4Bhh?d{uVUqik{+*L=^4vdy};eY{>s{mcqIag(o{a+&k>Gu(cpdX7>t zIf&Ak5Kulk#mBWS${Xtxwt{OQ$kc&pda}1ir^NSdg%2QksouM-sope^x@`YG&@QNmmfB#+FmZzQL;yOZha`NFmrTj;ftTaNm)aq-|!qx%`edc>^c+o-R^XH_UX&F zhF(+HW}mKooLJAjDLHTH8aP8g($ku}n3&VE4dQazI)Faqok+^+^VsfhUct*Og*hFn`%89T2q4Mgag8Z#fU@Y>h7nNg-z5T>Gw@AUl75tdn^~tHD-o zHmr0)IMtdDsNQ_nNME-2{a3B+xZQT7OZT=wuBT>p0G;h)h+ackl0pQx$_HA6ZzTildUdRGKG;&!ZR<3+B}L>es-ToqRD zDyeE%{R3R}s@_%q%C2U`=OM8H4jWbH@EyZerPR%epB?P>o1X%t;!EH=hOH`Yi-O(G zt=_G&RmJVrV7Iqa?^fBW;+E#N0@B;Edbi3}6}OIHw+9YZn_gwBirb`Mw~MNGt87(q z+dtUtnCjgsTUFfV1-refdbi3}6}Pj4-I}U*t84|iHEMt1toWi}50)ROR$$6jkOw;4 zZVh%@P`z7atBPA;3d-cv>fI_^Rops)-PWq!t+G|cZBnq?wfn10ud-FeZU11m4^{70 z*{b3;FW7CL>fI_^Rou=Fc6)a9Zk4Sdwa$5P)4c*}u-7`JDh?L$|y61pyPPgtn zyti6GC|gxMRkXvQ@o*0$rG1=#QULR>ZG&_5LYa)%)iN_D?A*{Igc? zpR!fGe@VgqDP@I!i+`+Ee#%z${`C*`Pbn+>8(O`8%2xIMy?@G9_5N)Q_D?A*{7b0bKV>V(Ka4YyODyr4 zQBUxSM8gmNE0X(cydKd&g(s}?(69N2hh=LFM|gGcO(yV*gN{*y>dEP?IpC$_+p-O0 zq=p8Dk^8%{ouuWUexJ40ku77a!a7A|D|GKW@xK0&b)PSLk#vhFN)@iBm(3vE*+IIt zf-x9|?V<-6=2bGJ;h!19%PtQ$?!Zfqz4%~Dj9~5Aw9@YR5IL! zas4iOkm1%!h98n4J;<=AlHto_NDnfcUCHnPGNcC?=2bFulOa9Gus^j}0qN{bhV&rA zq)LWYkRd(D&{4^-5gF2h3`HeFjST5QhFdEcZa)e`dXQmJCBsrOqz4(!u4MQ;8PbCc z^C}q@k|90Fus>ClfOKY)Aw9@2sghwgGNcC?Iw~1nMuzktLs7}FJ{i)347XM?Jc2oc zUGyNsqDqEa$dDdnIJ=TzF&WZ>4D%`(K1+u5z^q}#`zFoxISYsMH|BH-mn~GKeRo^E zbYeORBUG4Ao7kIaz`IAM_yoLo@H=7Y#Qr|ZG!rs$D62{*X8ZI@Cyw@MrsOGa=`FG} zWfJkyl&MO~lk#3^%5+2L5rUGGS$IDmG8-1>8R~`5D=LTDc#AJhp-BM5F=Z>G(aw~n z>|^y|LPL{d%daD)`Rer_rX~4BWT`ZNC7yBk>z*AY`9=WhUAN=to$Gf(te)>HUiGNa zS%rC;y}pSMyh&oJgQxJ_5qQOK%M(Q$y5U02z4#nCJ$v%rRsmtIz3^>Hi($F&&e81Z z&h*s8Bfc;S?~F6FeT}ETF-Mh<~q zt~)zBE61f0Md`}O9X7BZ%b;Dqw0;A#MndHt=yHs74<8PPF30T|!-tU!=r_Xc${gL! zk?k6qlL;9rWxwHB18-GQ_W6qQ6(euY%*oA6%g9b>M#3b2hK~2Bg3T(a*=iJ;Tbvb zZ(zo7M|Re*kuFC%=7=h?HhGyK3EOj}CXJ$a<8kNQNRhTF(BORF; z1BW^W!M}m7VOb+vs*uUw+)M~{kYhwfHrb-|aDq8KIawo&AO>VQ41r)qQ^^nBII;#i z{HeTT^d;~H1$Hzi>p1q>jBZoOo?ouRMh4NWXsBS-FmcQA3BJ{GhHh8RKr|xC#YjSZ<4} za*ApVvV$^(!*QK^!~oQH6rT)~N0i;$vqonQM{vfE z3y{OnA+V%Zwe7dpX&9<*E|QyDt)G5->6tkLQO7feWd5Uf3I`OYV@Ce$M8t^rq~13zWz!@3J*0|A7H^Z{~a_^qMZTWkn*Wk8e)5$ zYNbC?EeN>7FigNS!)G@dt2hEHQ_)!S09<3mV=z{@>^Ea^tIs$1e-1?lJ02qw4%m8s zN#hlBsTk-D+7lv*tsJ7vM9W3|$jvTawYA61*+}8VjEPeH3qu$G*7y_43p_Gh2 zihp|V6GR^F5!OUn9rlR?>It+QtkM)kOMeskLy6#05T<QHT4dJR+9BIM0*s$JGl@r^;*fc`^`F^n3 z0r_zls4^g$Wu`=_B#gKs!d*#Xu`4LORqg8}`XoGhLhM!S_iStUKZXR51JCT(chcuK z{14#28ESGHHI_mcMPW5&?Ewx7Edh^Pkc%pVk$HV~!O9RAskPInEEv(kXeU^0MONE_ z_9=qBolp%(B7?55qkP>8t$q%&fFgn7m2B&?#_+MvC(w;j7GXh^uc%(|&q(-Cq|4q5 zF;Uh_piK%RrTvov1^O41C(7kMB=kNhaVrpR7e_^5>Y{>$1zsuk6(e7Eis0P+qIq*qbV=GVE=viL11n(0yN@`@Vkn zeS_VbD#X=+!cw({nh}Ig^86>w5qt+KjA|=D2UUpiP=(ys3P5Gp*b2}AWzN_N&>@MK zQOsaDsKNKC{b^RorIZ>);zaoe_W|t-#idt*(O{gYeQ9<2?F-V_=eh(udLlrT`>HS) zMI)%W5r|Ob_C{s5%6(N9`p~|IKG*do@6t(7l+(WEsyg?5x&(zE?4X+P{xE>ku-`NN zgzX^`^XJ;b{?zRKTiQbul0LLgrcX*M)gBuCiRxU9y)mfeyf?;I?2p?Xo~S-l)1FPF z{@mBbBP7+K`|Ddpmrk*mK)bwDAv{j~!@fX&+=x_GtNoTAq8Cvc6!S}TY$!qdzawaT zg*_!|Rs{W*9h(>s?#z8E+`iYMak1y`R0{ipG&xFk2E|j{+QeftFpz8yr@dHCwNJws zmO-{3;Qt;hJiS#p?gL5p=}Ugo*NG`jHy7joK6w{I9(9A4eINYHu)GGASK_}B|5ftRTrGtW+9sAALrV_B56*9$`6){wa?n46& z8a8$!(M3hZmru<@41=Yn2D3A?)0Q2xnD&HWt*lh-(^8Kwug$xzwat0 zFPD;+y0>eR-fXR&xc{yfoz0511Ny*qP7V8kdL@)St>*2V&E99-_w%=*VD+-QCR2n9 zU|k>herjP1rXhPJ?8-rG0?TyeQc$A~t`#Se$G^Qk)TGa77k$rvyF76EATF>+sNDb8 zr~{=_wZE*9PmO$hZ3SUXdH83`11-GL;T@c`qBYK`mD}&XJAeM}@O5uboyPQ@Sg>>) zb;Bsn>ay%B?_gC)#duan9Q2@fiMFkauo0UU)&($zP{#oXj9x>b#_BWf+e+8R7r7Im zOdzGVdwc?TJaM3dkcPBvvA}M;qS1*thr1ERwYnPDLWyB0^g!Z(37+Dzj{--Yy@_D4I=w%U{vbn%3=Amz!Fb)3{Y;Kd=c^{snUb8gfWk8ax0Zr7vKs1QX(ml7Te?oN|*AH zbnT>zQeaWK#}HZ4jUnAg+vFdiwiQsKNH>mjQ8YeNy6afCA?e20CKoH+cUad!x+pIT zl-2~D_AY#G?xGf@R|5D}j(|SWt{Zf0AQW9{) z);9iSL;=@sB<12nYf2I=H}uEa1eP0$T)pytGug%;f`x*0wgTKEAg~aDI|$yV`F?F9 z=KEVYaf#<+6sDMwZYKW zOG{`W1dAM1)=cVPeBY+@VoAUA8NgW^i_%t{Yanw zq2+dW5gF|I6~`9*)q=cMKe)quz&b3~B=(9M)#6Z!)2c4&aGj4(AobO*v-QNaI4zxY zdqXU@+#afXu=L{jSoe&Ivn?{Mz#TS5_=y`wZ8^9?xeY8Z$Aa zpZs5^R@bTgvV^KR&4E}jyFq&sET`)z6uq$ub>AF*1)JMSOa6NK#lyB zR=x1GJo1`u4pN>~MAH|46?8T6|I6d2qLWK;tP&Rz+8K{ep^8g@i2qn#XIdT=IYrXp zJD3bwqpp#MaVJ+zdGJf1roQ+^p~#t*hwi)o=rC@0!S!FocAb_g#^O?$QdhW&jT-0p z#xZ@h@?Is`B#L z&l{_wiw$*!k(3R|7>6=TI>MmvPMkaKXeDU^)w&Rnh6bcgP^eCgc66{_E5;;+9zYB*SGv z$`c9?^T(KvxJ(rcI-t`XNB11v@5s(<=Mbb$HqP+$q%%B@jySU8VuRF?e7vWsk&{l= zTt_Es0v*svICbVG$OK3JGR5GG;klXO_RN8o3{uZr^&BRQO`094>koC%BBmeEu_1q=X5b-Rnjt@VfKyDLNr2s_Fz<_1hql ztPZRZtM2q5j;Xa7B3mfG~%_HcNi8NEv|xv7LI_!W|ZwM zj8lvTRmZw;?9g{Q3%Wf<;tXQekdZh#Hpr2a#FT z7kp?n*F69Q6d6NV%SpxYO_!=e6t9YU)G=%1;9*1D>WtY)W#n+&kd@_15Y1q%L&m^c zhvd+4IOBXMB7C7E6~|R`P)HKQ&6hNTnktpz+H1E*KBT-hi^E)^%#bvH_7g(i7rRPO*i(o|>TE~sR) zvU3VgG$H8?qN8*H)+t7+kub`T-}4F=Xj_7!5>9Ou{gQECU#jO9b>*kgNYibSq2=jA z>BcuRTEFu2{>gNorQ%a3!3~{YXJwvJmiTO?bTO!N)pb*$5pT zdVVwlr&lmfX~q3~0o^>NC_@62g68uM+WzC$L%(M1|4^0&SK0sZKX2~&P50i8!f+)- zkIBYkE;}xSyy^m1t+$e(ad58Nf+?yv-|!5%b6oqKPSO5(|6}$~Rh~UhQ9h^Yf3^1M zreV)fTtYq8>RFGQwdsEAuer@|qZZ;u>m5`PeRYoJKaMWb5mlO~;hxbfP7 zVLwLkcRF-WM@-}z+DZ%eAa{m`bVFlj*yxA_#|qN|OnP>VbA_m;4=a$J6Z{tbEh1;DmQ1E*}&J-8CR?t^Sn-P zY^r(8)?G0)dtI)D4=}%?i3OT*2?2trN&o+L{;Ts)xPRW;PuI~0d*{tVp-|-sSHIg9 ztwArwM~TX}!o+`HeU1I<*7*Q88aP~4VVmA>eIu^ltF=&L z{=Y3Bv=?e^0Y&tnvCM;ml(@lpcT&(i2zG!P#i!8iQ1)Sot~a;)blWbmqS!&#r;$`i zLyi0W_lVObT$*i(G#0urw8nl36e=%i9m*{kGiqeoG(b z!0@fo{`3UeV-#Ah?te(lAKMChdT1X*s%N|J{gd98v1Dizejgewi?7V5ddIePdcM(p zFOj&FvQnw`xkKeh@E2xdR~QO3Ulyl6AQ8A;uPW9O+BA;{q!ngym1NISz5N`{#4_9X zt{5&N!cN*(U)BzTNlF3SAR5lZU;GtI`Bsq8qClvUXW35_$;z@a zVus4wp!wDKbhCWgEbiAn$4dDzQ@uycVu@J|!Fm3oCVzRQ!q?gPN@`918r7$!{?^pr zn)bP-eKxwpn*O(@|MiWJj2^RQd{r~Psu@4iR?wRFqk#7woqs;JBu! z@y{o(8u|UJ%1b@e4&!8L402dttN=&?wpFO=1CHQcjm-+`gW*ZorIeMfC+>7z)cT8n z^(Id#zJJAEcuQR6-it3nV>=|aIT-tsa89&!QQ2-9FsPruKGlR@BmbK6hlNd7P5nEA z?GJ6eLW73QoVV*iJ6hDe2H4MucJ2zbRP4Tx7pILyeC$J^V>~fU63~v}&T4m*agvAc z1t?!r_NB7O?VJy4!uxCGNqgshMjjfwiB!*o6L`3%g)=RddLJA+$Ie|G*jBss)OfFa z4es~*w&Hsp|JMBX%O{VDX^nh*_0WfBx<2~zgQiaYALNHWzBI>k8u9hJS7&ujz5Myz z(;XLoCj6v7>Hg2A|DSe$n&r(e|3B;gpHBau4gb%k|Ie0Rx(Dmel>a~Lo=#K$nehLt z`#&51KkNR_wqJRFQhrIN=N?&x!$-Ao)Zj97{Ce zyDW4Ap!&vF628)6d}AyLUx_ikv6V#M!cpJYN}}(*(1+xrlJHR9MT$ylMXW99;bHHP zL<}dW5Eh2XM#%047>y+u^9h(Iz@BbvIqt3klx^IJ^idMMG<+NC8@^HCYV-|9d1P*! zN+D+ajP%tr(#JPDd+;fq)~j{z4Wsod>XJ2gYo9lW6uu!CMahdw!k|C!qdo5WDt3Hd zmIoVB%kdc$irglS9K8BNdFnoS(mjXAm1iZH&=u4qlkqA+I5!$3mvt3E8|HtIpPs`M zLC(_4P9X|saTGeid8P0-oJ#oW`;`A+_!QT_JN;G5r}4eY0Z2< z&>IT9op_1^-%pGi)T*fu#`m+16W+a+IwI7WGi?P(M8bsI;ruQ(z$UeGwe^$ou>Fy7rygV@wM2O z>`GI88g{O3Snz!__F<~?_yibzOm=R9VYUs9?{^sb^zqo2k_`Qw(4WxO(5G*K^+xMX zUzb&%knK-RGMfKC-(OHx`oH&CrN5|Je^XEp`uM(wSJl389v^oAQO9KUbxbx@Rq1@b z(O>x7`OfFp*ry6nBcK1e@^G@_hc2kN9ccJf@fqX(s3#TQ1*L&uluor44Q5cSZ5T9; z3LejVdJ5x-R9}1LPCfm|H1M_|Dx>V^{ zat~)=mNmJ%v+y~qunJssvVnZYly#`nv(s>2l4RBNQgVq`(;~YwajScGYT>(f*mrui zr4~MHw_9;Jb86`X@`8S#0($h*^LHFhExg&TH~V$ma@r2Fe3$v4{(|n=)X8&zoCMl~ zGY9)Hu7vz=_FLg(E3^zp-Y!;ePm8y96S1$neB3wcxs9I5o`;V##zhhyxF@*(FjQri z@cYX$nwOz`6y6?)&kDQ8?(Jdmq+7f_=(3faB^~z(XW~Imy47XRyF$1>(Y<#bR`$zQ z`Yu?)wN5L_!cuVvR2ifte&?#4iZ#9DJUUeB-dncacUBz7K_h=9WmK@l|Af4+t|D*TcHdb^{2<2Nq_BV_;bB+T-1sCAi;(G?Y^FZt8j=pZrPFZj}AMMgGU_51rm*-N~z{ z*JHBK-#PZJIv6|I&iZ1WXiDzH zrxD*&|9GGp`JU|f0bl{h})UjnjiW7g4!asgkC9ZarLLR{f7N@po4o_3i5``j_|o^Wm5r_4PH${ZvmM zf$rXS6+~L%_paE$zTQ6y2X%asMbU*(4tvtUkn}pKBar0lf=DSVU z(|j2<+(y21W@|LkGj3`t#V8EMrAd(lx@Rbcf4C@)ZjYv$;p{G(+S<0ywmij}e^_(X z*S%NZJ}J61guYevnYxQcjR#c(%CAnk+4VRzgzfUfES@VC;+#eX>tfT;*ET7p-bJ$SuE|aq~El)E)p^2%Q zoS}&l4Z52(Yq=&UVfgv(4}-jPD2)K=K2M|E*2wGl@^aM3>y*luf24#$T2sDGTpw%X zb!zQbjl51xUbKUwroBJ;{;@`0Cs)4c{@!H?C|tO{m&+I4ba_0{*$M;y*BnalF$ZHH z=DCRnW5z5SMq7qc@7>26ll8`!3^N^(6om%^GlkTt;y#!v604O zyEN>tSQ zZxSEwh^_h>V7#9j1p;^R{uA#3SCafD*2wR4-=qF=`RRXC0sJq05BPa*q~m~)Lu(n*{08Cb&E5)KfY38mO;iMZ@Ve>96up;nwPW%p&9jOH8n@A7&a*58bIj!LP(Rw%zmm=6v1d+^kt%PQa} zzQn3Nd0VjB9qR2BiI1X6Ix&uOu=b$u@^bL%`yIyjhnu+1BVr%Z(A@xYw_W2Ze~4Jg zOL-n}1GoSC!{@u{gVd2@8o3+NcZiM87~5Lm#35yFS8uAJj4l`Y7DAM*AOlePmZ^;R)AAQVUPKHlp@P zR9PK4>HQDYtdF2GH1?y>y2p9C_twKF_-4d12Qo=XE7eOkVXx8)ael$G7w@#l#{;Qm z97kqh1}?0)pEP>x#ncy$%?^{1eO9-2PzITHUV@P|rw<-uNrt6O9$(f|a#me+rYJawC*4>rbALGMmt@n_0oZcaNDlSxTq!#v#x2JiB$G6fGKXcbF>rgSj z?_V@eT;Xc2=Z|hB+`IEeCkglWskp46Ek5s?sJDeB+w@{xGcG646IZx5q$cjMO)sJb z$Jj0En}9y4@RO?#{{nyb?Gb*m5q`D7Z#-V`;-tbqVfqs(eA^;J0G`sedfQV;f9KZQ z(G95G#q`zJjt;%>R=d-CE2O{EU8k%Et*}(ceU+<|Ki!=WuI>~4_|Ui%uaF_!9BjfR&np=J86l#tIH6U#}}2#!*G9j*opGc zt-AbJOj-7ly%9TpJ_yK)F@3U z2|5gyw_D-xS#IN`Nv-t!lmyMQuc9*2%p>2sd?>|fw~e2U#Sf>~ZB1+Tlhdxi9OmpeU&oSt%(v3Ymv_|#%w zxY4~m9J)6x!Ra~dY_?C=IwxIQXld%i7rRS3>zdwdt+Uwy?C-Is7Pg7i2d>4eX)C7( z&7gMRP-iEm*4z%=(<8w)o|YAz%}VvcYczded8&rZ+i7vIX)kjd>z5RNwU^sAz9AMc zo!(K_#R3sP9aHhXrm!KrGFs8Jg6*kjsR|atQ;Mp400ov>XlYE5g0D&VBg**bILF7G zfT0ErUa=ABZiM@ro>-jQz0;%%I(c^L`JEHAUC$jWFQ@vNTG)$xz!Y!~vRAf|_uD%? zzbMg^O*i7JBDZTWq8jLP*>m_Hxj>78s}r$Nd?>u%l?I!}CKTu6YF-(AkGKJr?hCY;7(GT@2ThEvE1b8FzFS-mwO47*tfg5SnVV{@@M)8= z$S?$QUTd=u9nB@0xWT+!6L*?F&_tm|^kEGqW$al@Bs}SFUaV2NmulkM)6|b_41Ze5 z!Qvi@t#Qc)PA1jp_i&yopvXv+>93eFQnPN0UEk@=+5?jYj3>Zps+`mCtOgHG5E# zyG+_sTI?$(ZJ8z)n6%AG2dgkonZy?L%%fEpU!KCvVDu}Opb zr6vt!8ak-fubIR?^_*78&10I}XVT_tv5QR_j+4A*(zYp`XH0UwNqn!K6aNA?koEzS z_JS6>#H68Bc*CTjUO{KBNxonbJJr)uDV*t={K2F>t;N1-(uy?sqDlKg={#Yg+~2C6 zg^E;MQHYDfb;ex>xBvYSh_7HKF-k7{zSNt>s|zG>1{X%Z6Ls&t+<$$9FCFP;;E z!#ckMiTL{1c_wY7+^A_DC34i~wVK#Rl?8GK4XF1h+Y9Q-RrR#D>((!=r){n)i|T2I z4V`*&Z9Q>sEIpr&4KCZCO1UFM`&QQ56{3|(`AvxSSP1ES6(SFYh&iG3EDjBJbFW!` zX3?gZV`p2mm&|geMO&?O?z6~g7V)uq?yXdZzBI{KEn1l=_BXRO$t-_1Yfqa=2Q{wD zEaqA0xjN9z*;<{3@(yjNbcrV@!Eb8TWfcild5B){p)fSy^*#zCiOvYqepfonOwt=B zR)o=WXIMbo6Sa#bYi~nie~A3bs^x{&`^>7%3YFun+MA)I^INDa4;8biZTi?s)F29iu*bORdTBQJVJbGttZ4jE780#3H{f?k2z3 zqvQAaMCmQpYBhrIo#nlnxcPDwOs!_nxL)3`iCYYfvkE8z4^bb1P2a7AIH<`dOrp?q zp6Vq|EYlOpr}kh3Fj~&nM81}2M1qDj1F`5UMj9HnY-rqz)|v(|hE`-8v@Vdkxb*yL z+?+VC(eDm`4^uSxp(f^OoYcTE2 zlM7Uy7ikCxy@{xUCNan7VmM6EG;P$xt3DTM3<$liXrMVvh&N2~8w6)E(iKOsa!J&J zvC!C}#-P7ymlafUh>0Fea`3VGmrS@bAzEv&1e1xtq8 z!5?elDUzldc%8J{3*jPZ>^@DPhr!p>=>fOVB&rTg9!5C^!9c-?q_W(7l_qA8&U$)~ zjL@!c3YSZwwC}^~zY(PsM92eC+S3uFvm-*j5G8g-(X%ib_I=|Vv~yo;g}4u=*d{mF zwY9c-o9x;in_OepCfP~n1H0U27xzWcb3v5fC54x$wfu&{#z3XmtSvRgu2ch^rDpAC zrL)*9KQ@aa>N&Hb!KS!!dvcCU6c-wqVOMkQpJ;NN31?%Il^r{}XhCl}(A%V4X}F_I zyGW*rc1DiHoQszLbmFg@sF(|}ksk2>?54ohR3FnYZ!LNg!#fU5=NlFr>~Oz{#J$@j z){sjKPoVJ%b+PcIPCPtsM^#w8vn*n#C-nO)R6aqochB)l*CCC@neUshnHSzRGQ35v z+>h$*VzP{p64cW;_Khw?z^NF&i!Ax2dLa`6V?(ItoNW3|?8RSVgWk@rm-{s_N@A80 zafA#tQsYhbXHkzSOKgX<{$Ya(eg%isds;)jpQ@9@Dnbh<1H#xi(t+rgnpeqqTc& za$2-D+eSLuZE{Mqm~NMa(c07Y29u(-6?XZ2l(tRjJR2onjuKndGoLz{(rB`tUq{Y~ z(H^MNU~Y`|Y90A#jJ8JUOplR^>WR-|gcoiPnwuBT0^EBDsb=GG;hAL`1V>WXLU z(Q`*VvdIZU`)OaTK@NE1eb6L!b6-&_6#)*FcL}_HQg^8Or;BJ{cvZ+$6WUVDarL4p zt`X=>=pEpQdOd>CUJ~|W=GfQFz93ZpL|r?bp%@LMFxvu?WH&W~mGS>qFY;o692zUJFJ%+?N3{!d9m1!Fljf=B7UZp1h2dAS;PuU zf|7#m^4o=YM9o&=&6Udd3EoT44qfDc#pZI6S#*-Gn8kA#MVPc7NvuUC`6Ul~9;UG7 zo2_pL)PYm?`+4Q}{=dcV7nI-XUGsl6-Y3fI6Pf$V0m4&y=)(=jrESw3y(eEMNYC8J_@eZDJMtwO)iyep2zDBdAKWYNAK$v4y3n>16 zvs}A21riwWrfEY2P1)j|0@EDeOQmyjgg6+|1pHX21fO7);N{j{;6H|)4gPxgMc@xc zkp4cJy+PLzwG{K9LaZ~(O=j^Ec?iw33$^Iq5wv#8A(MDYy>%ch(82U_jfGQ@!$fmC zNbLI9PohMQd^(!m@<7qfO^v1_>fo5KJsKs(n}|P%d5S2pRPhf@@>sO^RdLKTZi^Og zn90scv-}`h>{mR`BHxG>FIq_d9g93rN9j=!Sf$x)YW*zZ( z2=N6W^7|O^x#E~}TOA|vLmNVWeyCg!BQ}PTo$o^Blo;`VmG~U1++3HY6T!c-%B6M1 zB=O=%SsW|AQv88h^4VDNVlC4Drk0!(D~>AuYHe9oPkdCH^fB~X6ek|H5npGM zkH(2Tia%wSM`FcNJLw;=%PsJeW(KG~I!CM9L;j{|x5=Mz!-877c$XR#lz(27p$bu; zVIU@+Gs|Di;+Xj?atgOsYL_}NuDetoHDQ!>&?N5HNQz0HiZ{~ z<8jEQvnija$Sh{S;|cz;*k*2emCR_ z)xMl_y<8EF1=`6LjQ2z3#Bi}V>}<@#h0FWG#jNm-%2Lz<6J^AkCi$aDd_*yz?88J$ zsad>c!a9#AX3bUwXi_&zjHaWvgox>8IWa_RH=hrk*DcZahR{6QQ7IMic#8I;e zqqe#9GG{oySoAb_#Diwj46|QUfj@#s%VrX*Ns4&Axz{Yz01weRXR1a6 z%BiMkA+W4cViDhx?64m5x`pyc#l2o#d965yroAqp(@K}gba8uqWm5kviCOlh5^M0S zB$njc%ZVB`Bp8M@LDvYJE8?FlW+;H&PylC90mOxgm&xAZp1-b)#nzQK!FOyGxq#MU zE|UW=z1v)sZy0652*b4tIA+y8GBsFX)%KX=yH?F>CY?{r@>8>zWRXu`71v^Z)T%ve zX)xWYt+mMSLbM$g`8C$GE%IAh-w(-4f@5Q|qriM~ah?N3(n zkzX2W;!-1*n(|UpkNzjxmvXH|FFDh4f1>}A5NbC>SC{C#k6zA^1v^me72J&19#aDNLF|B3J+N}r^>SG1aMl(np4Q}-Ap$dcctNE(IZ5}4 zLuan3`7SBunR|g_m*ue#vDHHQzggt3A!4C~`IDR`KT1n(1gSq3(*~xYha8$PEE6LPC~mUw$P-_q;m=ycI80hS9NmXZH)glfgPm2 z*)VcbSHm{D6s@n!z&?Jz!Rh%`6aFd7AA7xmvi!92@HFI(aD$50@ybEDcGfj}P~@)KxQKoQJnfDGDr~fum)r zM)ORi`*`X6Uk@L9INGm4?qD+e7YkN&kk81ds(SyloG4D%6-a9X-&@2ie>^MeovC=D ze*8g`{9n+%o>tr7Z27wtTQtMuo3Ua>IQC_(373cJi5DZ}tFdBUE#ix75r0qdyxL^( zB|Fa5iO1>?zb|H%w!fZuC>Dz*RF1}=YgwR8)9@`E^%*?q*=Uc=oeyX;OakjD%38y# zUPRVDZJJ{GBt(ppR|&Ba%Z4Fhm%Qhs%vCV+v_kD2lUU1s8o^A~=*%B$MRPFUXxxpgkNaklQ-YqZw1!ZMTm|Pky#z&y6d=T-hRvax}u0=X?YhQu|KYI&kY_dOwxSqkd z`P%wkvac8tFt#bz+FYF~!~gLl3Z9{JR#+z`eI^;oKRo98ZO7z7n39Id^%PX*TVAdeYW#w z)fcO6ZD!OL)1#Y$uZwQ;M6CF*PSXdVQ#TeHlj=&)&2^v0F3U5S&+S_755q}@a5*7H zY!8=5>WFobIIr`2q#PF`-mdkm=8X|^Y&f)lt?@8?Evf}Hjz*y>p4oV|y!dOB$Aw{X zRg@?Vk3s2+ctb0S62C=~&a_(bLOf_|0gbP1(-1e*{FaweYljlN-!68Lix(mav_p3B zLnP^pBNzF$7SQ{aL87u9)JSre|$T>E=%i%%if`C)QRjMz_dor_Hh zF=9)&{2)dwj3f@}f3QQ+ZqJiG-s&O?H4iCkn}9w%nSCPQm6`_+0Cj%wosx1kr-$lp%+64t-{fL%2Ao&2nsmbr5r(PI-~}zyn2SC)Tua{jrT$1P<`RC$nEvT zV~92s&sya-=Wp^~L*f9ig?TzTY#7_7`TkxxN^Wd~2XQ zgJLf7tpRxk4$ok)A-om%n-Ro+gFL^iFMf!-9$MSkvuCs}@bwn?3^v_kHanWGeaNpP zCYWdo8xErXViWUC@^hQOLG~rl0*A`iMT_q(a&@$LT*|r80!Ko})e#FqY5UtlVe(s> zcn;gmqQzdEQjHczr=^9Z1Y0HW~o)&C0AL+2iUmhr2eK_tz5JEOJV1 z@v6KOd|{~ETT6_$t}#I|iB6}%?xmE#d$rkeeY98{((iDzcs2AgaGW&W5G@Xcod>=z zQbK=ft?xA`Hq&_t3WOZq^|9qOyVxo_zhW1~A(w%#L}9RtgVuRuuz;o5)DQ}`Yu%Ol zYPk49JD`DYx5&xiqCDh%QlOz!-ZnMTx;jjZ>9{8hY2BxRe_)ZNVPa#*Yoypl$Dhw| z`*_N8NoT6h`L~6Geb89FcwUNSv~YrQ7O}!C@3o20F$~l>#UJ zm2$C0CG8Hms3{%gEov@yXmdjLHxu)$@|C9ISL-S>6iaH$ZOuekZ8@i@m~EHyn~G1O zh)<|1VTua}j$I%gttWqNChm_T{mJ#o&XWz~?B-%y16h(Fjx;3x)!Af!TBByGnv35X z$w!-tg$}u^nfT%y;=9h3^O}oe=Mn!Qp7eihLaw%-Pd+S9KsdN2G5i8Ewh|Y|v@X59lu#G*h7Y~_*7bl!d{x}?4g?r$Fo={mDuA#pw z4i_(mI8fVYK;ZrP1auj;1yr z?L6B2jjGK@3y(H`k!tg|L{pppscQ4l!lTVcyNx#g3)SXNkES*sy$0HR^dM;SpH*%C z0|9M5dJ44paD_I1b~Ls5;Ar#5+r>+?H5d_XkpyXffZIbt5xMq9Ld6GW9PbvtTI9}9 z@shlJPpDWGf^X!C#at%sS3dxOercwa#TR&I;;D5UkZ%v|nvPQ;-!cRfA*NA*o+JS)3w2ovvxw8#8Fs6=n{1{H#t=qZ( za_#I$@oeY>@PcqTGg8c;ygC{op}jd0G_MvO5T&la06T{@`F4aTFm-(=QanJ#>Zm1Z zN+g7K3t}A7X>z3aIaJe@^%#M(-@o5CM#?6n!bPAH*yAypk31?Fuh@=g_i)v%+goTWGQkK>d zTd*)DwuU$l)eV?aZ)d^kcD*Aib4Es2z{wy9Pd2&?va%I_A* z)JEY7;XJGO!L%NHokec3ibE2k{KX-1y%k3tXm$yQ8I*&1Ni$G#ezM3}VPb9wj@yeO zHmTMt%ysy@T1Q?{_4N3>>bwMAp&>&#DGs?G?ZvM?lceoXy=9Rf!p;A&_b%{p7T4YX z%GTOzVtb#p4X6!m#aodq0bIH1MgE7rT_a>Y3IeOKu~$K{^%iRMCInQF!L5@ZA`5$2 zHgR49;mxISTiVhzP22`khtMEnW1DLXBw#`UA_QzB2h24lT>St3&djqHNj5f+8?X2C z*=J_X+|JCLIWu$S%#6UB~Bq8-#8)m&2f1`?eKBl+^o&!Oz`nWy#e;) zaq%1975mnB_&5uqZ@jDOo(b`;| zZPvwS({r|~PjKLcR+Hc_iE z$~-X+7?}_2B;P08eDlWY)j@1)yyaK(ZXFl@ z%)4U$S7m&Og9GoXx^6=J(_)+|_;nk9^ETV?Es3)vcPmsvu2i5VX60z6S69&e`q2x!#Ybnp#%J&5E>sPDeUzrg5 z`Z&o7SRk0s!B5y7&TC0$E4!8xXh3k@GcNv}2~|&ykAG`I?B9j+6H52*kBI;C5yCub zmN$iS)a7Wc&DP~!^ElVP|Lb6}vpU{C8K(O2Z%>ZxjmNK;9P1zVR27cvCak5eA*Op} z5^JA95yrkRo?dn8yFurwsySbn6noYdp^vcS3}QnQ;;$!T8z;uEomBOWNr}fN#U2sK z4o!-`$oyimR;%k+Sq8Dc*UHIL8Re;e|Lq{r7mt5=a_rjph4=Fv7ypOJv40x3qY4M> zN{~QMx_WYK0d#NmpnIj>KQ?TE)e!?`hJc*)qq6XH)Y9hw+_bz;@(NeNixt-|5E zlj6*-el8imeroJt$pTne5bnQ&_(MVL+o?^~ekWBO zHx;k*;=N;ZBhKqpRVZn_%za3bnSOgrg0n(9Wp$OKy91Be%0?X{{}}Yss_vA6-&14b z&y0=zT-K-#5f8opUK;1K@i^k;>*AMJA#kP_?+9Xdk9%YcjxQZ?2mau=JK(I`Ep%U_ z>A$M_h|VEh+E;bw#29y^{r$Aqw~mOfo2ub??bO)gaE>Xlp^3kb@0TXWS0t-)$@sq~ zWB-&){AV)uXp#$?RYi^;iOR9Bs%FNQ$^ZM+@&8E0 zo~phjej~;aFOCyE{aMxf)vuOU%~?4q_FZlO3u4zJKMi8*Cd82{d~;%a)ubxU0RG3M z*uPFn+&C%r_@s{%i>|h*nelg|{Qx?5NhZ%PRzH?x4t7O(+MlkPgW!X-|30O(x2BZ# zzoue{wSP9L>g7rCYbVE6O-|4c@0h%B^t8W~BJF$Q-$}(@KH}-}w88u8NwND3Z>Evp z{Vl^AG4GcrRefbr{5$FgiH&fQ5qOKGZm*7C9>jiHePujPw>#qVDQuQNAj?491+Kd~j?@!G8 z%4DsvRjm`^s@8YKZ=PJWLtXZv$?;bv$DW^@=w-4fT8`-PP3>Qw@i+0Gyf606svk{# z^nJ0vKQjIgC&o4$8UON$vE@g_fqdbp__Zg-ZaONSKOwf_XoDObzx;&QT}Q{icT()p znlDcw(C!n!V%>@IrNzU)iSKqP?ywZUYAODcr3i!+*I0_HEk!|&j(^5d+@uu$X$qhh zl%mpF7JvQ(?w-9P*m^>2)s*yz;-rgK4HVaj7C#lAl^{?JLWm#4=6EhoXvS$O^Eu=NlVcAiu9C;+ys-DWswN`+@A!_CjsSDI z9I^Z6Dbfhr%MK=IWs@j;#J`q|eSeJ3q3;_Lzj}(e_LWm&SH|PJQnA;^#W$fxFkTai z{t0o`j-Q_p-<*m)IwAgrDY1PM;>-Z9J0gBxijCg*`ef|#iSccz*sh83O)0hywd{O! zQv9xDY|CWDx^J>pm_IlBDz5EG#=cr9c7I_qm)g8E8L|7eYV7|wF1{7vdm?_f=4fAt z1NxCK*$12$`?0ZCPmSF(F8;ZxLUlFA+Y@mhHz#EO`MZ7}`+8NtbcqQ`&Y)#W(G66cdPj6()5&k-g8xf(YhbJAg!$^@(nJY!%j;_J zoiWgw+p$w=MAwLig+DHLa*2BrHumHxk(^(YF` z@9nQouJPXw#pRbw+>g(1ZXM2=cVG=y@;mC94YAm+lDc;TC-Ir;9vAF-fo@0;Ox9`$eZo`I` zC-ps6Ralr%vw$tP`roiKP!O~06XqF!F?hQ< zdfU8zUk{HN?PgFKzpt%UuZTR)`$b#AzFVvOfMm%kS~0$|3k#RlgoU<%w0I$Ce3)CX z({($a1;dKvGWM)pis|0R2>YI?8M;Ys_w)E1QhF|z=rL`*&QbPWjMD#Vl=?_~<16tC zbG)SDu{`(!xOY-4{Zf9d`J-FL{_Xam&%cH89Il_k^s_(uc~kT{yn_tyA72t>)7bnW5B8*%!2EzWAlFJJO4fEp|$M&_sYL2N3`ycM9 z3G-u_RP1ZR!kizzJI?W3J<ra5QtB&`1)R+hn0-uFC%(mCgQMe5D0l23MivY6GdvI>PiDqKhHij*7!nF z5l!jV!r6>1OL%ID1ymz7*i?^MpKof&H8w<13shuoDnn3P=*g5!b8~APUewUo>`r^d zok?A>#P5k>7l$Wb48MrW`RSrVPx%)|h(={+p@(jY##hJxckcQLZ#Ais4%d%r;c)$U zDm!%gL4Fa=d{FX>p1M6@uC;D3x%~H#dGL5xO>3c(5&@>>evgLRC2P*)Z9BPuTbRxa5kPZ3*>k*!ME; z_$^BGWU!6F7LZI$&mZD~pDd#9T~OPDSmNbsTnJAtNcS9t3!bqkjjO&V!Ix2c5pNpa z(=#VL{+`yt8LzkGo@=>xS4-c9s+O5|%_*EXp=U;z>!{ln7J9y$m~s2_$xoeHw{3Cq zyn&D)Vc+H;dHn1>Ei-Sw-A& z?LEh7rWfX35AT06{MiHHvGsi~|9NuxorEDZ1$w;y_9c&=3LhK{a}Uh8-J*vxpX>P@ z>MXo}F#OrJ@Yrz{>7QLBJeNFv>dXyG9`OQ{#j9XoU`j&cT4oOPynB_;Z-O%G`7s&c zHH6oaCw)fSiW%KX6*=r&=sFd0=B-PfB8Q&8EB9LR1Weh@&s}~)8!Fwq5p1icZrme~xr_0V%a>4I7Z=N=#C3+M;Zh5` zYc5tL#qXU~o*4uAqh=m`X^@{&J@bs}PbBgS5;Nx~KFN~L)mQ$Ei8JR+{KTI88Ntjs z!6$a+XHT2iJT3X<0l$RIkDoa%dB(Wh_*7EH{|ArGIdYdpTu>zVK>W)kIcqf_hBUT73XBH6Gw_)8?a z5s~bpegz!Tt+G28(e(ZMcl5; zw>ma>S!04Ay=Rq{>-3q@G>J8~b3J!zGHBqFx-=ncx4x-M0@=ItOYG}Wmc32i)Pj21Lw!?olp4>e%HEto;=Pnl>e3KfH=oocJa8Ix@kw34!=^zepVYa$ zW*TJqq!x8yYvYqzzzeBC$R{<2mr#Su(h|a{TUJswd{*>&GX{eqP)wQr*D4Q8IAF$# z^bPk4YidQ{p;owmS>wajc&HWgE7yByt%q8HKfl&P(;jL?|Ll4Xt@lu?gcSo0ddpU4 z{?|5Veq*~c|7FmbU)kx*&+l>OXZJdDMFXjAUeV3BN`-IOyyCB&J+&f(MX-!2Aao9E zSh?HGom!FgW~Vp1Fw01RTr80(Fl(Y6O?sy!ur%`tJ{Vw|!>41mKJ$TfoKa)Gi<9Z? zF1!nH&32bQ33UA3ptCO`eEVniIERvH|IAKvWK9}H5*waNF1&oeVC~!R-{_NUPE?@C zz!P$elwY`IMT66OV2W}n^Ok#A8};qj8y^4iWg9a1Y}hsS`S9Pu!lwfqVeXVfxMd9K zR~FgNr}dQeE!*Jos(S(#*Bo0K>kU#^mf6x6m~~5IjhTMkQDCi+;|*q(5n4~d2pSt) zDur+Bu3@v^q9_iU|72U3KT;`d$s~l&mdr#MVJ=HT9|;-p0+wfCuBk1|1wBc7!*x$` zLvx~UZ&gpyt+}R0{o7nFC-T+5V!n@)(`tF?qe;#WrJSl?{obg353Rh(8!7P0Uu1!Q!R?D+9{D%VY!}J-`DBU}Z$#7kZ|h%N z8&52shrP}8?BxCBQG2_xJMWCVGZ9aV>VfBK-ey+zmfGF*?#ljMtdBDOJ+cmpW!^tO6JI+y*Lbqb z43ef_Tphfv{B1CzhluJ+!&qTin%;oHi@;i4yEfJh6s$-C&N~z=jOyarUr%}n z^T{wj#=gmL=GLBfg}Ecb85_d>XO~pZ7}%)wcU9QGc}dc*`@$*&s+)WEhJ{mO`@&;4 zuXjT+0*u?M!sLJ7u7z#i;OpV>n-PG17pcUwi^D?owlJSzUuy5zSxITh-}>#X-x4C*mzt zFBaFOud`|hw;+5~4zBhg%fwB!IC&kuHFpj&+(LI%$tz?(k#>9r$)ba{5}~GbCb19? zwOo_Ev4xw${>d%9}F(@2tDDSWCbx2!tc zuw#rRke`e2r!fHrzkL?VK1$CfWMLZW$-J;2{3QP=UmFQl)}Fc7OezhMT@~$`jh1=p zZU~?AXHvT+kdS5&P5iMMwV#_uVrfviVNOzbW z)mOElV+|mVKmZT7d25)jP+)2;e3C*gX%NB$1@RBG<}Qk)$v1@@>tD z;*dhRJe67QyeOkcHA0jg&1_Xht+)Gjvr;Zu7`sG+1YRV1A;fTJzGd|2|_GJGvjAT;jvAzU!DRt#HuhlY3zQ=msmEKoo$#<;xUFCgcmVBRJSOW8_ul2q% zOTJsY?;7tbv*gS3vljPy?<=$9oA6#n--JS}(`pBeAr!}-iJzMl@~GY@)rM(Jcq>EGhvq2OhF z=3hK~IG^F#JN2wHhx3_BJiJrsbe7UzU^d_R1K^GCw! z>XncO8LgIC!a-*P<-5xJ$}IW*xA(o)`^qf&e#QH)@xC%kzL$C5>%FhclJD8xcdhr8 zS@Lc2zU#fO%#!bWz3+hcm09wg;C;7xUzsJ}A%g~2Z}Yw~OTKq|-|gO4X36&(-gnUZ z$}IVQ&Y+|7nM*EF9q;k+WJd8W`G|b>dLNlZpGJHNp1{OMWDzx+aFqjGjX<=>Kfkp&ui+S)7$Swa;q@+I108ziyK zNKL}r=9aO{7h7}h2NyPATy7?fWiowfcmld6GjF@(gfRD1YwqbHzLY=Fg8F>~@CqVY zFKrA9e>EKxS4jp(6o6N&}VNd}8hsw~x)TYF!&dn;U_tXh`WX_{`@Q$4M!K_`NzI{a#8 z#_g`G{R2HGCU49nR!Wt~#VVF7*}sV_(B)R*u6P?YZ_gk-(4yiAE!YymXESbA=k%p$ zg%MS3q&nWg4BcrTJITD8+&dgJ>{sp&MvLBC(j@KzMcsA_1V|V0G2J>cD%_*dQq2i= zTo{(@r<$$BX=!a7I?5&*!*d*pGKGXIT4>kBbbz7V)|7=a*~NUYNW*@YK~>;>2hkqM z<=-Xjf!idx{NEHN-v;&1rD4zt&dp`1Ee)-?ET7RU&dsgGOk<`o>oMywVQ6zv=xWPg zW-vp{5VH-l4Ks_G#q7lF#O%WC!tBQE#$1ZIG|cz*8j5{p93~4-NZSvcEDnku`mM4L z*hl}0wt17ZkbxEugdA?gH{Xi1kN+J+d-iV8}2h$#>zd?JPL_07yI6Q%W8z%6F+rwD>uK}kL9tXF+J={Njc?;Zw=^v-P0lzu{ zc6FFry_HeJ^^Jq=A9LQIJ^tW%G-(ks44dXkEh=$X1Z1nmgBAfDO#gVp_CPK^N_$8h z>2P~EY2e%19v^yx{_%&X8=(oc%&Qm=?$aia-oJeK5XH@lrSOE*`jMd>{=SB+|4GQD@3jRM}FX zUOP)VjLYkGy1l~II<|5HQ%!m<*}nC;WONK+-o5PF8$5aWkw@50scne(73*_N$>4^% z0ZU}zvx`acs=8iWVLmh=vmn>i>AVFe8lDRC-6*|ekCB0xS?*)%%@IG9zU^8xPQqqk}b+$+QXb|X@7~F?pd6i_7kPB zkx%=b1Zv+b+ii=J?LVe~n|1o;yt<5xj=B&mvyUxqN>2N!3a@zE~Y>F zkH-YNvThYHFzKiZ@JYW)0;J2anse&v1$aW?_bKQNc1;P+_AUDC)JI5l?3V9!bzN39 z(|$r?=hf8;JwgOub8u4q5%u*$CI16O+Nelhs$1zIJuHOoq_~eea5e%b+nH$O8*?M78oX;1-lp-`wJrJuIUU0PX{GQAVXZbcfbGW3(jf30pU zF#vTuv^cr>@i9aj;{OmduNvCCb4>F1>*}^ys$Z)cz;rDovKF~7H*$thtk%EgsE`73 zUZ?#Tg0}yJPj;tJL|GA|eG@+C)S*LR&7a=tQnBh zM0?>07hEI&Tw+qd&awG;Pov_MRBGEKyk7I7}Tu5J(b3Kvmv`!+nFacs8{?IA23_mkl( z(8pDEF@+@JHoR1ccaihWb%Bq69|fk9DiAUDke>p#-$$S;>oNvSHK_sUb_sJb^TP9n zy0rI9D7#yUn4vVOrhp1uURQ&sGTnry>MO|T%pA=u4+X1%)O4&X$kfW?s=8Y5Q7fG5 z%@JgDc#ej3&Qw!c;p-Khk4_I_ptqp4u9Hw(u`M_L zt=el!5Qi?ErGwHF_`q?y@Ci=G?gOuP47@Bbu~Ldk;O=382Sx-A6qpZzmktZObwuDA z1?B^ez0R{76AdYqXxAz{AHr{s!h@K{e5F7d=R^VRjtNOeK7Vtarg11?oNUS^t`evr z(9DWQh*7``sRZKvm9;r-nf)uOKc$a`P6Z&zVt_#fphZ%A0DfGtltMClHxWLb!LkeA zk7tto4}cdcADUp6seE*{7QSXINGcy)1d+-|cdW(D&P@@%)0P26jT(RN3-^R-KyE3N zU9*^bq$sJSwDKOVi{T=Vru|{6I)|eDaobR82$iOdL%;9v!-mrOXxVaWXLL*Gh#knk z)|?zYmClxe^y&Aj0;2T|$2&A%|GpI7b9XRV-wCfqzo=rWz8zRJRZj+a1)(Ka>(ITN zJ}Hy}_4`>n>=4yBQ%v{M^;tBK__O-s!n_7dHAcJ@|a01BEuB*fG z?N#Q00YZoL_&rRZ7_6E2C4<$y_%TO)1UD4b-ddM%gPfb5O&gGl1w)YUa*1eu*M6&z z_%YG6K1knAyd79NwrhyEmDFt_IUss_*@A0Y-AV9!p|_js*3kH%mG4y6MB79Bt^E6z z0?=5w$^vxUolN!6MUx$yKw6~QO7GTCtZsDCB+hdL=)xsGeWgq9uaxNN0onh=P_U^| z@R5Y_1;Es~{Sljb!?H?zO@sajV5;0B3$f}0Kfwq7?^ClEu&XxLg)aw}jrtJ;! zH76>1^m^KV#sL1Dy!ZD?5QZiQPT}mF&J~SUBn=?%!NNTf$>4mNDRn^_+rEV3b)I;IVaAGnYjVXu8gV!^ z^%0_7NMSqwt#Ak?UJLKWzD?=3;h^`Y=43@U%BPdhf-d|aLhG^%x^Xc5Zs(s`04W#6 z3Sucxw0W%Pwd_-$Rre&|=hcl53(Bk~9klF{DjPw6P)?El&fO3FonJk(d#6TRDkk%Sj9h9F@eHyFhYIx6oaB zn6eI*vUFkbcSKlliROmn7YC9}9M+lMT$B9bhGf${$1>tgZ>IOVRxJlEO@8s#WYYu3 zZY$F+_t#QM&swJeQ61mXoKWiJ_kS#d9Bs}r{Qi$FSRzUbI(Ml1KStdB@h%-FbV_qj_$c2+I%M;oKthx|RhVgFBij?kT1=u_`&^TK?R z`Y$0I{WNiVsFd; ztr_`s;<90Gtr_`sP6oTyjQqMa&d-eey6c_GjQqN_&Sge^-FoLTBfoCIxy;C~+v;3q zg(c%YH@j za{)%uo%N(J|A$Zm)OR8AMST~F3ZcFWMTJn`g|(Pa--T&RsP95iA=G!Fs1WMAFoOy8 zT^M3QeHV%fp}q@6g;3vxotRMHgzx&Z)~obm_DTWi5(Hx+^eRl+T3ebNQJpoF`S++spX>PbuF0cRm)LEd8xTbF<}rZYv8OZ zYmKw2thLUnvZkF?WvzEsm9@cHRo0AIKSWs}wN)W5*WM6Ai54iBsOf@QJ{ppPb2AK# zEbD?x7)66c^|+811#@Z`N}0z=9BT_VP0#LOtt6Szk1)T7$=tK!PRs=fKDv=A%X}@n zp)xniZ@S%w6`Vo9;KQ0ee26)L(y@hzO&$Iczbv@~A8rHu1pn>)-xmSXI3$+-Aed)A z)XfJ$Q1F)_ph5npWPoUS1=IvQAMV0(N~eZ$@=Glu^_0J3o&Laem)ERRBde}-6ewWY z9bF60k|#RJ!rcx`i2TBA$pktV4Mcrf&8jZ-^XaX^`ZlIFpC0fwAXmh1KA68f>G}Jh zB#P+U4QZAOA?zvvM|Xv}Z93`}jhIxWZWeHr%*FeCn~1toi`&ZDbmKpVtR4spcH+=A z5OhC!K2X8cJ0W&VlV=6}1LkVKS2uH%vVDy5tB-2D0M7o=S@Q(=~`!$hx_f z&$)!|uxsHKkW4Tq&1X?PFg6?91_pMdo54vUv5G}uf@Ee4&{4OM;R;vU)MvMX9!oa* zW$G*2%s&157f&ISR(juK3ikcv3SH_S7CP$MLL_fSudL9s%77JmCtkXT%>-|4z779a zo>3cWW#1hlb&Eu8+@MfAqsL;oyYjw-DB5Tuw=nmE;(5Sfn#|8s9Jp$7T+Ch&V3AlX z%jJK>a+~V0Hl>t%XvzUdW%G&{)l-G*IsU92Q~%{!G_a!J{;XP+7!MG8PKK6U&_Gq= zTF82IA^a@$c}GvF&$=dGxRsDA*0|>X>|PfeSjT6tH~YN1sNK6SnF6G5t%D#@ntt2G zf3mqx$iVcM*QwDU|LWt?0FwO@$0FYmMU0T|aIto&f!L4dUJLdr!Anm{P3PgYKH;Eoo)Y$5Zd!@F`O0|T>th^!<1Ao##R8nE6e zt58G0NbgBgsj`X;j9Z`wpiLPNR4u^-BnR6j$W?|ig!g^I-VoIlwXV7%8g*rYHltdB z&XL^G2^qubtsrf!ZobZo}Sws_1od6N_V~g)qVSP z2K5oeYpayTMUkiw&+jCxW@z0KBCYma@TdwtCXOZHR%*dOQMiSWN^&g$xAFwYda7~0 zxhPvOUyZn6yKFRkYQdmvX>84VvC5V2!gvo~y5S)-J4TowXb5dS_jVb-=8vdS&ERZ*?xqA-8&)b6F<2)!UuR z^2x0pbgnfra;tYbm*tjQy~nvM!`$k<&SiP#?Cy;)ziL3h-0B2Pfy=VZtqz>avdyio zaW2a?x4PE323@?gb6K{z)%DJ0+2&R^IG1IcTb*&Pn2g-&(79Z;c750CHV3l2wRB&d zbpXpgx4P50Ec@K*F6XlBbE~_Z%d*d{Ug}(yJ?-UO85uO0bA`^e%DI#glw|XD!mM%7 zPJ^cUu9cGpbkHv6T8ojq(J$3({=ahddSEO2zQuR=g`>=V{Q+eLf~^E74g^bnn?YbZ z5I+dmed4Ok*wCG3XvpPesPpJrImRvE3OUhac*VXmniY72O@klw2;w)9i$tM~x;%5?W@xPt_ef%GOF8RLY zbypD!X4A-O>6xDZal<8$)6zgt347mFb#B)vH5X3xKJ>3#jI-ci@4K#UxpSQjXM5k* z>Uy2)W9Wlk)NoS*7n!TgY4~&MYJKZol!?3ya1*7`*cjod`|51x)L&}Hv3cmkf^zi$ z9IuCcU_Td+N-y5{fw9U?cVW4FbS(j?!aG;36ee85pi9X-+qC_vwgmj}Fy9ncNI+%3 zLcYm>^^W43Q!6fNPA>nn^@WIcYMekUJM1>+zZNGMc2k=s++qMFKKmi~tayauv)m)1 z`%&!m&u4BDS9Qc+xTw}#QAgSJQD!`=%x{;r_uT#a<{nzB=SJ6naMz1<&gc%2;$1RZd?dEETM8G`=gKa*@QM(WymL4ocj=DC z$KS*y7e`17`Tb(Nr>dISfi1swWVD)(upA9FR3Ut+hu?;AI+e?9800fvpMM^DS!r8y zf1z9oU$8nEx?J^G{4omL>x2Z7;8h9eSX2{~7LWLz|1JMfYo#>xf*o`&y7~b$4i%)rwPYh$^O`b>_}w z|5fx0-K5%GY#tV!L5Tb&x*&+zk*!$5JgQ=*H;|PUL7oOxZdk3TavI*Md>a`f zb&0C{d+KdyxU9r1O8;B|V2&udY*2v9Hi=pz-prl2?p+;`;l6FVKE=XS@*jsPxB>f1 z7)Eq|KV_Q6Bt>muo?tz#Zr3Va!EyZBsLTk@LRzq&mxcUC(q{pWvIFT@uW~6|Whsn= zf6Irrpu2t-Op0BRQrKF;z5ft=P(-^}Ewm8oLEqnG*ywHmIUhfhVJ~h2{1pE|{zpZ? zG>*skpHT}0X?Spch-)YR*^r~EIJJmmRgiZ0`9rtWt&ys`{9X(tYo8aEZMf= zAm6@hvs(*BlJW|k_omWwT=?xuuWvKMu@(i^=~PD@D}20fB5-g9orRhwD&9; zG-#oTJ1);aVmSV}R-HfD@flrTjQj8QIATkc@plxiBvR?PMz<9!ZeVew!rpO>#wDnv z8qs%fd5!bf3PrKc12?8WN9=DQ3cDr=h0WlHT-_R(Xa;~A6FB$?$VuiDm}Z;_-`kaT z`~4cc({%TfP1;FXtM|CvNVfyMzBE#5Nn2Akib#aMu+N3)*oH66ccExnDz^*2=sZ#% z2~4z(42DgENVIMQTGoEGU^5G}g1^%$p3G)bzTh+0nj^TT+nIl<5Fahqbg^vX=V8TYuzfHad34HLF|^rPM_6vXTHE5B&V~#I@n8 zVt{hVGZM znU3Z;gBHjoZ|@)NcXBf#eXsOT!B5^w`g<$zcbsfLMbK6YMF9WD4<7&F>5CH`TKcBX zVd^P0IxYw6acgH99H!d$S``*gI1EIKlM6N^muu~j{IuTA>3eNVvVS+366yqLziyWt z__SJCb+kmgqQTh-$#bQK8#JbIpCyW2CKc@L{Vonsq+%~B4K6ZSI=8%95*kcQ7>q9z z#;Aj3pe!nKWgXhFS<(*}i#rB!rML{%MNgd|&j*RQ7y2|zikV6T-SMdWO`V?$seP8} z%pi#e8z~*zEH^-Ng=1=N0}WL}uXW=w7=KKg0KsV)D~n5ms6P_kq!gTO;`PQ5>sghB zUM4}h75X$+XiI|0M{rTrm0HCoh%0%iz5opf{;&#+vM&O4VP=O0?~5uyrA~pHFM7JH z(oFhZUi7w#qSq_!%Az~`vcBl7HwhB3tr%QnINOQ19|&h_phx6;S_1Eng|c#n1mtzt zPDi7Hv)dF>Hal67I?K|~{@__zW&I<4GzZ%w%N^x$VNygLq>S0;omm0Ob~1B8O;V=rbo5cHo4`Lv%x9$Ah? zB~zIiuV`?9{%GCM^+>uVDIT~#e$159MH#`nRP)=20WDH}B6l`*)G&}oa8}4?Sw{6^ z{ZS2ZT9*QD$97RC0aH_b3XUGXrv$cAfMMOyI-pfQJ3I8aVt1_d(bWt@y&qq4Nf|oD zOx0T)QHp+2T*U0KRzFRFBoP&&)E~Pn7(#<#{ZWkx`6;?iZc_46p{WCrx93D6#A5!z zvM?(2Y2B8zC82t|NLgtl9IZd9id}zvR3%n_+-uR(E^}WCruX|XHMSw}0CnygaPeOb<$ov;T;5@ijpeh=?S zofVauE~z+x8eOTQ2Dd&L^~7oP#OhIdqBtP5nhmj}^a(zgi9lFVpej!GlRPUGsMhbvI_1FG1y-ZP3Ar73M+y04^h7DL$8rJ%n zG}A7mmhQOfoy&klrC|dWm4+K!$k2t%n5)ocF4XrT72>4;L_b+GBVALcC0tY?{u}S< z0+ooZ6L?95xZ8*7!c;}X7$I5HlvIchp8iBXqCe4(=uh+``V;-sVv2r5f1)4gFQOkv z&?}vb3cbd;2+^yXix$_d5oSh?UeR0>>9x#7lwQT$=yJe?U5aYEkwj6o-AE!A(WR%8 zRSI2XPS-k@kwm0y94VJy@BBQStaUC=C+nRnK`lZx1I`sVmmyJ9E;l5KbYe&p>15Ew zGm?n(kR#>tJsO*2#B9}0yDgMvmsUN&;&uNB7fc6&@el{zP;8S)}%O1HW6O1ckENwzahpo-RqN>Fz&2HIf)hjhct>P<9 z1#rggn(w}-dE_%L19Bk(x_zc&_N*puPm==)W?d-edP78Fwn@w<^wC1i6vxsCo{&p* z318-l?g9<1aGCnr{N07^;HDEo*kW@V!EDZLi(Zy*sjKRGsYC_9kJOeDf|)am#gcX< zn%`WGVy6bDZ%baTm)G&N)sYCCdF~-40Q1Bb_ zY=Jg&Q$zLIVXbvN3Y#5stsTCLy#Jd7-7#0RME3h^!8>vOuh%7SQ9nU2T2vp^?YM4V zRGRg=SVtGVAi8ny-a(it-S85aTtqSp6CR|vzXcn_nBuk;Y!G5fceDhJA~)N|YZUeA zCGtQ*uvCUm(AXv$pP(@-8=s)DQ#L+9W0!1v0+xK(_ymnhWm{UtJS93e`L314JP7Ce zaj7VXBCIH&ucF9R6XwjUl_RZBy*`F9cp8d^ogwCM@(f7qTl2H9@sNW;OJ;;2RiU+>BMsP z)byPf{~@jy_;Zodyk|Z1#pDW&=}7sdXO8CY^jj}Ff)`Kydzz%RD8XlO!lgVcMO42= zOYu{~QoQi%N{6~+V{p`TGNYw)@dv?*63j!@c>0Fq>Vb_V{Q&QC@2=C>^Fhw2F*r7w z|0kWlFW((QHxQ1Wd(Y=JYlat!ZyE8PqK*pG!rLnLmv~Px(p_j_tKO97cI<0|K2SM( zL<%CV0Z}C5LB+80LB&co!-I-Fe2?`^$D-#ru0aIxxMTc|Rqi0tc#$o1l0U8@jR-l?I>+ncn`+Vz4VmS!O!la>mn5C4fEWV*Kyhd5dQ=^>T zr?%_uOLJh)_(t}vua`Al>-*ERL!Wa2SpJVe)jCrC^vkGsEPtql7~aDA-PKv2gyXi3 z7H#P#eehdqu~-0ZC z3%I&@fwpzgSL16cchW6$iIrzcGEQaM!l1Ut#jUoG*Wn#?J}FbMs*lRV@}YQ5#Bh8} zl4^KJ3Ywk5UtK7Bijpu@K#xh(H+Fo+%K44&u4L(8r_EF6u4rrQ1v^AMN^G4RO7RukL=_8?;WMm&(VY} ztJw&wl&DPOT-`~s^b0AD?U&hEp<6r!wQy8F>h@G4*Lxt^(Zs^HVo@xlonbG3o%NCZ zN?=ECU#l-W5JCICIZ~v+iuc-MjJ6bx2Au>715$&&Z6$BJ0+0lLz3HFziq#@qL;c^euvGs&hg8Z zTI(0YBZ<(Cx3ju&b8#)iTBD<4X3w}zwExvj<-Fgm#5C{sop0ny%+YJ#?xkSxLABob z^?ZIC^wB5`#BJJ*?|@72A(hb>)IzZs9t^=(yT%c-*KWgBVDl@_PIlQT5)LUKqNRr1 z0Wvqnu&|M`uN@|fuHTt{M{(h!r4Y|#O#i{f&DI947}Qez8?1i1Dpo&d!)umO3+!iD zGKO;H`o|~9099NB(a@AEYv0bwiXXWMy297+sEZ)u4DK_6o^&ILv36B@R#lv}b}&Y7 z^~@}H6e^15%Cvz_lUVkoq$%-8DmvhbZsdCYkg2Ftz-aHorV`X(*&^9!DGg}!MRNVy zwn#p$oL1%*#Rc3pW3^OvMT2G?zkysD>|4=K zU4B|Kw?yYshb}KCmuRCTTE3TRGm?+^$uzWRT{8Hnb`7`V`b($>#bD(O<+Q8c4gxL` zl}-+2bv$U{ZwL+f@jlGm&nzOMpAV_HTgxcN&rdt<7~U}=(FtKc7#JI&ayrDwWo<6*v>H-qFlbb1) zZ6K&eoA?ZY@Ifz>TB%lsyTZ8+O{k!Wn0V3>uuu@ z$Bc*9Tcum;DJBea4V{+U_aNeW>T7mo@3YEL`&;VxTPq{fwA*pOR3pC|RQH4FXgs@A zMUuhle#!ds<U6jVUSy_0X zS(!3$KQ}*nr`=!e)IjZ0ZeMp^#))W|+qQG)`8j~O5HtSLud(*(#A|zL1~h+H%E+xW zBT_1kbkNvb`ykmS~yQPfCJ2>465#(G`oayKJirjgzTocpSmV!(!q8tGZ@ zc1pd@*WH1vP*UopbJ|77a(8>TOcImk`pQ-MI$GZFMxZ!C^;QpwXjw7RdvU681|TE~_yPHfWf*oc^afYCB&f-9QppdD9iO3RN=(8SP| zYSj4F#H1i)szy>QN;PJ}{ON6B?lg4mPe)ysW1RWZJ25*kyD+;jyD_^lmtrn0-W#9q zRZojLT;6rKf-Tf@c{B0_*WvPJ{E3vT6`I(U~Ys)5!3u)&vBVVX@E;I6l2In#(U&uI@8TqS2bNRaxeTU1p379Wr zT}U(Xg-+)(BVXupE;I6lZs#&1Us&o~W^nJnbD2T=IhPsvt5=z8wT$GA{p&Fxnn2b`6Tncr$wkjig!Kv}mtD=6j%ofRy77Z9R(NB_b# zzt;s2x-pu?qnmJ6p&K}Bh_%L9g>J303f;7`3f+2V?ZVpNtU@3k zu3F7!T?}E}>8!%K%UOkWx3i|PE_GI6-RrCkSXY{r8^CgXtFVdyuf^PKq+2ED8gq(- z&3U~KwH7lX$l}V&h9T|!9*`tU{G5v^4HqdRK3+DFU0x?_{am(q;hWQMcK6h}tP6ik zQ^e4$HD`WFbz~h8huU(1hWSY5R=lpe7$$#}A;1K8nyDLTeKwKv4MO%H*B^8>>UUVV z?DiRlItnIC0sn~0B>iej7fV)LIa;|yjC4>~B9D9g>cpR+0@gMx*D#$e(gfO2+w@uL|achqgaiB#cG^Zio&{9iZc_f-bTO1 z{*c>W@4iH>_x3jz2UqMexG;Y-b>k4%bJ{DZz!|rPxoLG_p5r<>YcP)MUCYOBNX9 zf^J#hkoM%)`L(d>_wWZFz)P`pn1BpvwO$J@>JKo_aTj7`@Id129Gy6JI!Efggg#%h z9h2+pR2ONKF3~E+=_-q(`?H)NUH5ejBe?o4E69Fd#}ypj=^+*iwRem;eJbYE~uAiI#)p#s#NnE_zW)^82X}-tuGpBrJ4zhXe7(`P>V*Ahh8*t zKlGxh(EBf1XR&Bq#iCI&sb&?5E9Kur(Ma;pi$?B;UNjILS+tQC@EL`w0o8P==A}#C z#R)!t4WDDbMegeKZ{Q&TgF_i}U2czC>zu<_5G`sS1jQopE6gpg>y??; zD#l*N433g-4Zs+X4p9)u@64A4E+i@j6!K^F!#xZL*ofx`)x*SRTJ<5Jo85@siVu=Dk% zwVtmHy>NzomArE-1F>5{axDL_uW|5N*$w|(BV60#pKGj_-SE#*7VHBqd`5P|-zK>p z|6F66;M-jo__)VEM_I57M{t0fd;D{h1-tMEzEt*v5srWQ0wL#Rn?y=y73oa+H=e#C zN>Y0yNTNsyc+57^GGZ!{R*k~oGD@nIV>Aj?VfpR(b71{~c7>TYH9V=<|?cVd~6ld3DI zQZ7%lzC6*IN({=wRb(#wY!hyH=A`B`SIL@{tzDgaFqsp#y!iXgT$qf^+zn#zukw8d zO{({5-=WB7qV_j=fmREb?Y0ijasJE2qjZ^HTLu46S49zm)A;Nn0@F*gY+3FYzr>XIUUs9CZ1EbKM(6?xwx~KBdb- zgG_@?!*T~)> zn|l4v`RhtlU(>kk>eH*NpW)K=IHfw*^^~}Jg@hy*opML7uc20e%htdt-_$BsH>HcH zg2Hy;EVh%oH^10gJ;FX}vt-Ify{NrZf$l(x2#YGUMxl0(Q3rKwr@WbxE6(H?cQnd? z8PBh+ba;c4){ukFMW!K7bZBhVz$d6;X>?b4t}-9RFP57^D5ThhLatHBBt>?EKJ~0N zq(K<}qIFww^>9O-25D;>3AEQIWqrr0SW^J2xHf0Gt}cs3VPgVVwRZ{v0-or< zRM+LgURBra!zO%)0i{pez`M74w@oBSK|MnLwfL)8Bx@80hOS0b=f~8U+UFR6M%huX z*pOVYo0m{5tRmAKrzFZezZ-e(@t#4M=YK|?sshEVDf7HK^0YGJSzG40H1bp-6;pRO zSvLitvm#HGSf2G|p8qrQRPp86Q094TftkrJ{sNASUTMHjo%cC;q8aR4T-Zk`1N4TJbsx^PYMKRHJDyNB? z)QwdmeYZ9Eq(%uk>bAnL5l*{6ll=ha74>|A2i|`z>mPl$B@VKUM%IX)9gE1lSj2jiUQ8W_@c6WI@X`%@~-=k+z?Fo5@RT z*3J6TLaQ(;=3^@XXwoyjCHHukt7f&^40*Do#R3;%qKt)sj5!FFT3Kqbq-9|N*vy1m z3(kCVgDlLtn=`Uxu!ORNSlVQ1!;+OHi=|VRPAp6riXvpA40&|n!PFx7GjM~#wd~9{ zFJ;L5-Ehn7gaNnAR-b~2rxqeTo?R0;+Gg-tpqr;GL>M=_Rvwu3-fZw@#+#uxv)=6V zW|ud+W$t=`+GBpbVNe6)w7bG1)%BhK3 zyaoKZ$1cTU&h9$r%)l&rNQtL>>;-8%7{z)hX^Xp*X3y>lbWWu!q`s*$m5eQfOwUtS z;JMe$b(lB!P>qGuH+80Fifw#SACyh6xu+znN`-RTs~Z#V3JWLRGpq0C)ixtc+8Y;! z?CF%nT(a0{d2<n+K@sz^JSF75>v-eR~ zuRPbtG&jz&a{66=J1)8WW>=vns_v$}3W98G@gi6_Pf;+f5 zk(!>>_i}Y|`HhSWl(X>8Eoa{=6!W`ktW#*e>dw*H&({8`I;+QG0~$D(-x<|!)O><4 zY3}lH-+o#f01D#=5 zXcxgYP`{*pch9?3zvrobEBtu`T31idXU6m#KXXg6|9`#0f(Z7r>)p&@qx;1Ou={U! zE!h#dXAJC0Gdh&tKZa6+l1X0CfJd_b5BX9wdkxzX&*C~?4Ku&ibpvb5^Qn646N1`H z%nnQq3*3GN6`Ilm&2~;!eknUJs~u%m(OAd@5yP-tGNa}KG?*XyhCaVC7r-2Nc77>Y zg83lra=}6_$Z0H>`MAzkQb(0%LVPO`H>gP7k^~YH+c; zUtSVJw|2BlhSgVPE^l04h@y%mk@A3*-1D`Fla4tq4TUfHYbJ@BLAXgGk7+tNC#e{XRMcyiD}M1Z;x`^l2c9L81r}>-L0oK#MqGd|K6oq8QXv~rAceFxj(be#elhjQ<+vt(&?;E6q6cKThe!`rOp|KJYsP^5ND#K6^dBVDy#gU< z0aUNTWIzLXl_W5_SXl3SAoyvMT~ADaY!)NnU@G6)p)h<%pFt|&hb&dW4v&j9maEkq zY=;lQt1yJnO~9t2Vy?$Qf~Vl@YT%AK3iQmwpfvq?4W>N|w;(0Co)bs~i$u;Hl2ZkX zmYOvqYnMtPQBkm{b3J2MO!yAsHvOA(yLG4V{VS={6thdg5djO!JcuIVL|vj zBWzz5wy)rueL}vv;kZMO?!B&*b~{f(*aJ1MDcBAr_kzMwC%jNbu*V73@v1RB-c-}bwe*!_I6%o{pr!oXx>9TJ7Hnov-7)#$5f1souZUG9_Ji$7J3M=iEb zNUDZUJ>l7OBQ@q4_6kh)VI`r;1NaIua!o>P&I)sWoj!y3J9+s^$3dAu1KkYNNy;y8 zb8r(rF4v<>645QB#e|H=grP}!x=AmV4rJZntuD5aLk?_7OsbHH?Yn$rYOT|z2)yazuD8Z3ZbT?*QR>q2D)qX)INiOJ8KHb#!Q~V{FK1mD#+FHQ2MygR^F4bpFmu0Dt z-^GUHw@E=Lgs#YKKetofmf9l1q&~*-z^egoY4pp2Mq37ePxi;8qBocpyrKk_u>iTU zPCTF}T4%E-+5hfpEvhz&5&3nqyFF1J@G^-e8mXnmG*kJWN@XaAX;9xUAt zt7}}@mib!U8Y)bR3bv}@jpA;$JavkIEkBlF#$$`>qfToxdM`aJEGcS{+S%AgUFiJH zb-g6o(zhvSow=hY?x0>tbM!Zexk&UjAKCgubZiJL@^0zZr*n`^F$-jJcIfC5HCr&p zIMg$03uLX#RmiM35Ue60e_bfghzayXeIA#Wl>hL$N94U*fOCxAdAZCI z7wuoHe_bXI`4ZX~rgaC$5N%-DBMN`kC1zwb0$8C_5RjE}|{;eHyDR3ta*YGBR6v$C2E+11;; z$iy5#Nj$61g9>UD^D0?oHxu*@#d!#L_CaB4JWFiRJ;DUT+_g<}ac*31HbUme`Ov$E zkgJT=V@}WU_OUin1I~zLAR3JoHZ#FmV^;X7F?gU|vep|Ewi!sz6DX`JfV*plNPIvpQo^;;yRz=i z;4*Ck!Z;E__g*_6jE@_D9Z3Z2ye_cffpM@Y&#rVEQ)}UDWKqw+ceD#_wPIk&3t<|O z!dsv6l=FI-==*!;TIamhJJ&ns8t)u%PK!g_tb{$2lzy&b`h#=zX={0g@I6U)#pX^;sO8wu_VNvp6_y6DQZFIEtWpjy9!&xoWjO zw?hJSz4Jax4cOo^jWdMxxytyaVvV{++(E|s>AR0sQgRKJUc@5No0G_7T3d`MMO66{iCFSn!VeX|R zw{V9x{di@DWdW1*_sTG%NhGi7>!unk8lUM~lPf-FQ}2#8%>s3wJkY|3+h4sl5O$G{VD%M6tMG2ndf_Ag$(M|T#_as;RwgWAt z_U63|Xm4`Gc!9tYWdVx4LHG?MS3K*O!(2LTM_X7*^C1t<3f@+NZ}9L=!I{8BIQ*-J z!zDV}I!o}+c{nViqphn1*L(2P-CX!bM_YFZ{=XdDUk22XS&G+I3Sb>^tITJ_j{k{s;FzTbB#X)o)Ua3t9Fqyf9uB@Iw! zOqpW*edJI4*4#@G$EF;`&UlsYRQ{>-E4``&lX&_gbKY7;#x`7f%bt|4(TSw9)C zHo=7Is|(ba01Ls(HfiiD7g8)2axCC?-QXtA&TW^^Kf)P%wZ!xsu}8KFuj`<3K7m+jt4L((0_Rm@w~1C*jd ziajcaKS5@5N288DqxKr+#tUE$`kh^*nzGgIY&xJ*O`V;VtzN!-+_{z64YFkf>S8ltvx9vQ_OeZ|IQfCo=3zl1l2{C=~45ixo%=9??6p0^a2m!;P%N(YHKxap50 z`bJP~lAhiFvXp8+(B7yY{+WwTWFD^rsw@DpKyOHwv9LdibOTGREVWqDvZS%p%R-;g z$zR0kSTeF?u!ORNSlVQ1!@}06j>aNy@tc?sHM7o$Sv-Fp@zcUG<4>W#;K>az z4x7GBkkSE86+3+#yIqU>f{IF%Y{hHGejNRJUmN6iGE;7o3bv1hEKEFT(my+IC7Z44 z+U+Ej)_1nDb79kR)iWn?VX@f)&xdW0GsM@@#bS#*AGS@-tfG>GV~^s8E-aQnJkf{6 z7KkzWuuEO>VMp|$>bkI><#H3O@{@_4seAS{C)P7+?Aw#v(46SoTh(){)cZ?EZ*^Yy zNVKfeG?Kr!%aR+~?wgpaGn8=uzMd(4cPNQYwO^S&$n#<0;*eIP-|iS* z)s}9>4ILbx;mgHWpJP$_Y8R8nSjYE)1 z)UAuf+v;m+=cvW=`dmgo+-X!sKip~cPM{wK#l^`BL_h<{8ovICH78 zYD5deTH(|pkqq;Ax0Km4AZlH-E-iWaQo04LgOT)dX$Q7M(Z)WODvxn&2}zqVWds?|h<9)_IRmGf}_ zg3nj9QN{ehjuow<;b051Yc&cb)QY$cdXTgs@XZX8wq^~L-CGzWN4avdHUC!#L*iCKiroG zhqqZG43Pzx%@oe7W2|P+C~+#&qLJ)^i3R*r%TdQrYfB8ZHllo0OL`QBYV|c5r?vWG z_$gkg=jtnCL~^k8WjXGLpYE5}Mr5RZVZV3!cu#*hOb`1Xdq>j4;rcqzT;*_mjhv$$ zT799fG%I)anRDrt?pSJgXiWO4x1Ud+R-B#=8}LTq)9+ziylyf->;7{z8&V* zw)`APKNWpSp5-1&(w-gtXZ%9j4U#0Wc@5ueO!}M^7^l(`Ic4+I}!}WDY^<^Vh?q}M; zx~Ufiyj9*ymol%A{qhmoFdp(v=;f z&;h?7!^aNo1sP;|sm3$2VYE4$n6(qG&C`TK3Ry1OmKe~>>U6VPhF zYEi33`~$=AC%_sa6!QC?bMJfeW)eWGwrbyel9_k!yMNC;_uO;OJ?Gqp7J9-Ln-quY zAQNjva(`Z`-y&T>bbKTRr7JaiNwofUlSw*`CLSu@~y zja{^pg)@y^IV;zB4l$)6hI65ftCJ74Xg~@2Bp62;Hqw`tO8OXOr3srn7(f~_rPV@Z zVJ$VS3`;qVp9vEq)PnuDzUW_!*9L_6B!HAQ5TH*BqB!>o7D%?g7_#i21yC8;! zmOhBNiA;o~U89PD^)}*f2@^uGw;J@9P~{iwX;KY}W1cA8_CJ8EaFY+6an~h(1wD7j z_$qqtlh05dcf2@CxBZ)Bd_Bbv$Y(*%R1wOABDrIOh${&2JS^kq&~phXD=WACLHXQD z@zU;4y6rFLc*bseRUv}}0SZ>hAnAEgkSqjY&bV9!>tt|+3f9ZueJUtqkUNjO%`&)3 zy={@f4i%gugA4^Eo+pF->Ma@EpV)c)MH% zOXvr|6*3r9!TazFR0Bw5d`QJV!12mX%Vgt9%Dqaas!*vqWUxvF`(&_21^Z>NP6ao~ zV7&?s$e>WctuolGg2OU6M+NCVHNaz@3I=7c6+vw!h8My1YBBDJ`{l1fYO zARswD4W#}jTZahy2jLZXM=%8~kQV#6Q_V5zcVb}Xzl)4aWID&nNX|u~0V0AtO(l-C zk|O!a1Ax-n&ELnYtb?ltF}ray^ws@j08A#Bys#j06aEMAKb$Rry);N;qa+&`vU8}V zOfC@kOAcsPQ(7Vw&*6W6_HmeM%Z5U4-%%NMX`tM{ya6(Z1@0g$M3xiC3KYa8ZYlb= zrVZ~^aWE8wl`@P{x;bJ^IqFv+;XY;RgGgMGsh>zc!fe3`cP)OK)M^)ch?U@>&kPp3 zIhfoZh=VBL@+KtrDAR3CoJlqdi1g@bI5t?hC%8t^!0gGL>co-}rTNlGv!g6rX!zkY z*wObRusNT%4-dnHEs@tuY2eGMOO{m;zI)V0o-V1nFWjzLHms4nULVfjNDc zhX=@cZ54E1@%v@0AfZ?d;dfIV9>3O%uSG5RN)W>_o7PHrSf(QIa1$@G*V0P!6Sh!C zx-ZW|h`iTO9ML;YN15;8^#n!3NS}x(J%QK2n_I%=`2HEMC3tv*7ZN<&$qU*Kc>O?d zHhF=;npOg2!vmb_IL)6$CTWBi>ZU2CIUjpuX-w%V7JBWJe7EkX~o2jMl0IC7_i9!~@We!UC0V9iQ;}@ICQM7CXk1m5z(easJ z;T%^<-vJ8 zVy!qo){3Ckv?0~6r51scM1ED%`ArKbTVr2potC;mzG@-_MiR-$x&9EGj)s~-czF{U zaRW3#e8VCa-x4JxuS@P++^LnHkS=ZmIV6YyH3h7DoSEeT6P);@4s!o@qDkC&TBG~W zS+H#|_HtQ4W*rIsh_9gd0r||VBV|N9vyN07p6e(LVGy3{>6zv+o|$!|wFuA5I)>yk zvySERc@Cwokk9kzxk^4W>sTY77f^g1KfA1By$rTft#~VBaG44+CzEF#Tjbjn>g^mE zyiWz^$>0MjNQ@2GomDEhKn6QhuuTRTYN)qe2K&|9WirUH!`tODIH2CHkU@qZ-rgsJ z3`7JUkU@qcf~#b(gnkh0kinn|_Td+3BH1srHl*VFIerxDxQSky?3IHG8<4>&m1(OC z)~Mj14A!aOung9#pyCFF3My`}Sp|vXLq&5`kc{OKoTq}k*E89p1+k7bc$;S(YdPew zj z*2G>pCL9iT*#qu!m*Om)++&+IADc6(_k9P*IGee^iv|1;tsodD3xT!6ffo#U98Qr3 zBYP*?@JsJSh1TPFj=3k-kz1Ghpy-*DvV9gIs z1`qZ0P>%;e4_Hi_o9Uq$4>02A3vip~(8CF{A$MY|&+i`D(Vn|? z^jeH#14vye*Z`76KXsf9s*Y&UFVaKt1RokaN}J1BGjO{CU55ta_1rmpf6&4T5aSvV z$vE3{+TiEpq)hLKpD(QWt2lk`KbJvx8I%jbUUD@c zEEJ#YM)5DX#YzNx|GIV?52@TG~J_JE|Kx$ z4Ng9W{jAKQ1Qc|Q0@YS3tR@UAhIstQvK1(0O$cAAbh&};QK6gRl&7H{Z%e$J*@eJ` zF*o@0P&yc|WETNUn4w~eG-E849tAC60SR^$$W(pKx|~rpNPEu@dyJstXE-Z{ zlf^J!XPbeUVwK@1)uoFgpe#uv%X;U|Due8N#r>m(8~4#_$; zF)H#H<&$Dm%#)o~@h|Ep%u#WLh{dftQu~_6u#h~7S^}Qsnrpc+m~XP|f>>&s!`3Ky zl&b8A@bK%S`x$(A=5d9dNH#V0{PFSSgNHAtyM&{FqB!#+H*iGSa_sox*LNgZ?ZdN} z!SV6sJ%}&NTwM>A^!fN-2^xww4x;>bZxbIyi@utQTDp zk)r7!*XJCrLs4OuAsQK*Hevnp+jp%GKOg`6`N71*yLM!W#$T*0C`xp`Qc5Y!ZF)7N6lVoa=-Fcc2%Z84x<&q|v{WS!12N+e10B#sAuY9!@+S|Vo-acqbP;Y5 zd|JkoAqIk;MHO1=zh%sEh=BleQI(eZdy26a)gY#dyb?#c;~&?}O?q{QZnvVxJ4LcL zpaY_YJ@H~KJ%@+wlTdMdp+uzD>E>NQE&WSG>VXj>vLi;})G3fl#q1_%32<+W>K-{{ zJ1}Ik3Wto&m1*Qh4H@!#h72LkkRjw5GK4T>_;!X&OMMR_aA(-Q;dDYodT=4)#qm!c zeb@$X+a)4z#_Y0TEhSJ^%&aIJI_byye0TgTjYf_&kuocDx_5j&W^UDyl8}BEP6G|It9D0I?Yi8TSw9O>K+=w?mL4v%StxFC zykQ=41cbUZEtvgpeo>F?+eD^k7)=n>>yd&a_e>;o>%^FKR}i%cYf@M@J4K)e_3C!n zNjlu3Lhh+|zB)zk+&)#0{Lav(zar7@e=zq5?Sxq;?AD-mcPVuPSSQQ{z`9mo-OF^8 z39Lg5u&xzYw?@X4AqH623atAV8H01R1;DyiVBLI*F&9+n=I=0JYK+J$gmurwsyFNQ zZO(w{(B(4hGl6wWsU2pWVRpDA!UTzlRqw(WZ8FSZijD;&9H-KoKnByfn)lOVa)o&0*_e{S0qi#+u?v`|Z5hB3)b!IvCY8t=a%BFW`L(7Ma5V&cVwpW=vQ z1^5{wvNGjKE&X*gJWF>W(YXYbdvHHFVBeW-gvy@M59IjeNCO1OzQSqS08%2rNU1R7 zu3+{Oenohck*^H6SO#TwAxI&BQ8zoX|A=|v;6Kn-m`@l4Y%E5e^c3Rso!Kir>CxZp zYQBi^ydK$(u51j4T~2wcXw}QMB87zODiEoX?3{cUXjqbM&WABnCE0o|aS_PQm!bMX z<3U;nCD|%BUGxzuSeS#^Z=<&S{ZG+Hr~-<=jpCQ7TYwS1L4~OTdjACu6WSusgn+O= zi&xIUM_u$0suDOI%zhGY=@mZMos}DWUofAbokoaUEtk7U?;R)2$6P9dNB!wIC|FzG zJ$D%n>x2zh8)mPl?vl$qy^*Cs-rlx&9-4C?@d+FiRpBJ6&T|rF(Ro96IUOFIChhZ< z;Q*+WOUXUSaJj}UNtTH7pBZw2KTAYjh*#jaOX4X`wU%_ZBav)F@}NEAs3cC zz!RX28sNZ*p6Nqu7x7#qhd#JQAO;vSuYfyjaZCruZ+25iShLVH*45=J6Ab%ib^tC} zM@NI7oTFFZGz~0I93}=1bYq~4xNn0jMR55LDfHJ2+{Y_)(Q!1;!MvLr8UU~gNG7Z;SnDc;0d8!zFWO6ZC#Eei5CDa z2@LD17L?eW4}Xj}2Yrpx0jy`WJ4E#+T1j>7ek`9IiA!_0OFAm7893;jUsaSFsxbk5 z$=Y^6%$qaPGygIp@CuETH3OJBUn)>1Cm%|z6xJ0&SaE0sM0VePU!%4fmKW8#Yd1P2 z=f21D3@K0{C}6aAngRA>k0>QA0<%w|%9Fwj$RWfTEUxwF2^p?B6J=}3pZn9;Ce8(2 zotJ04!G;aXf+i45P`qAxRSOrG>yYKbNa&O9e3?z=SB%7DE(0tp!q?Gla4-vkOf~67 zu~6d4QCU!Wu&ozPPTD<_LbupZzH>f`B;22fn3;E1OQ@` z7DH*TsnQa^5aw@JhmlF5+yABP`TOXsv&h|ihPVxE7dFLbqa?_hzgctnP~-GKFm3=d zg!yaTe4}zQsIq$TZXfVnO+j#mfkRKxltv5BEZEH_ve`i<%VBhX<) za6JG)PI$hlw4~462)t&tB@dOZUMO@2sHdnU7wcP zj`v7D74)Ts$}|rRHGVUIz3Km@(jvWvWYe_NxDS<-U_1ee@0}o(&iYaievlGca$7~) zenVS&8J@M38}%E@zHbDEM+W9DTN0aH0)1-U3Y!V=0~aSAq474VU)NR=VJIa}`WBcw z9#v*Lfg$jP@0kvbvVf%BhF*-*WjR{96=2D&RCE@5?PP3r$bC73UjE}Us#xYLb6?S7 zn_Y-6n!oP*fcw6j-e2Q+ADa!njvKF~i5JOUhL`zzsgFU>4JXMaO7c;a-#Xc_F0VJ_ zfrpm92MC(#h?lpg7=~t-ZY4^xk06IEkH(Df1jq?h^b;{Q7^fSfbr~)7AjX4U#jMMW z2)5T>L|9u1US8Ysr7lw zzewJtCv4hT(XIB!^y8kY%ya1lLvDLT?mJU~VEOSD(x zeTW*7ETEF#QQxbwrvb3bR)0!%ksFhJ6`5r_YuD+K-^MRq24GA8#&r;3FLem}SM4%Whxidm zY-3t~Ttli$gw=p~(+YC_Sj=2h5}SOPmi!pThVTpTPm_0>*Uh*N*p6sS!)xnc=~0Gx zC2m}oX(~a_Msy2ejTkUtID0p>Wtp%}22D4t&tb}cm;j@tpT#$(JeGnKw+Q2ry%~8K zzN^po^oOQ-x(#Se&=7VrAUO;3?Nr#8AeEXd3j&brVz6Dh@NEPr1ImS9EZ(B61Os@5 zT&m)qgWRxLn7~q8=%yH2n#9(rL;}EKbio(|EeFi%Xf9_jKma30J$j8E(b$b|GS-Mp zQ!|>OXh)BPJJ1KbEs9bIv;p{2#SlPT_BeFYnRgfKKtf?Y$0J9RC40dE!i_@u_%PE) zEp4G9B8?LNXnnwn!HWgwN1-Wd3wNA}gRonfg2yk=Cts|ketIt!9L))Yst38G9Tvqa8aa-EF=D1gKQlvt8mVl~Zfd%XUf|3s1xk3*E%G&}n@ z=rqs+Q)nc6ExwQ@Iq=J5Up>7v5W($A<+x1^Uuk>!lcp&9O5CtTy7ZV8BsjYghM0^a^|+g z09yBMMKy&p`cstd95ff?h;XZYX4oNRcp~Jg>yJkWf<)7Jo~HjAL&A(3L(U37bWzwBVp4!h;T98R%%z3do1MB3{j~20 zB(niCCf9vye71iGMNpf8{$6rgl|7d_RUtdYMP(L#Pn5%dnhw#Lu*}^tuJ78aM8au0i$^y>sVy{i!XVPfr<2 z)YNXQ9U>KaMrgyDQAL{0jkJj%l73Clz;>^C5Jh!b4Pc*p4D;CnsfRq!)b1z2cqFSW z{aX;2SY&Ia0jEp8$?8uz3`nyU<{8CY=EzU3Mt3&TMGR{Thd{Ro2xtjn=IdXdwAk8dSzbw`4ZKzYZa9#;hQZgGg8&uEihug8Z zs|v3b4m;rmEriNrgO*$uU^zQ1Xj@nWBF|%_k%Lu6m;UKy8ID{aU>xh#KkVqSk9GxK zbWPqTF(ehl-8%9KZf@>JF25neiWi2cYeKG0!3}LcjJ1P1ZjSka+$Fi=SmZ3B8yJd` z`|0b)K0f{-_z1x|qbDQs9~mWKHwLNPF`^`hXE91b-NHplMK^LkDZ$r;dk|8R^W0C1@NvD5kA#N~y?@W* zPaluS_dE3D&zOJwpz*^WwEn!^{pO}4?l(af#@ugu)~`&%6k_$2xjb3fkFfz=_O5L} zuYNns73}egxqVV}mK#thmy!F;|6RmiDTcz|fAa3`kHPQz_{nE{P@DAe^Svmq8#p5U zY(5PAEa0~s(wS)xa$1c^LYKd5B=iHhKXvqZXq`Xk>!-5ZTv!)L1e1L1A6-AyRZeYz zr2}bnWVO=+%4mNRPIZoZsno=eA6j)CI64%X4(0VjFv8kD zUUcrf6vrbQkiRCmc`DQhwRRht28P)eeV7hAjOsxg3wDa?7vWWDaZRoj=N`#jFwlC= zd{cjFb9!U^lH@iRHf@5L)l&np^hxol`U#M~@5GsAN&NEkNMeJY%m&jN^@j-F__VE= zitofaJ-IcA^kNmqBK{$c?-cv`^|PH4602cI1}+Lse;)1bhJNdK-JaA-woaYH=)%@Z zMW8$R3R>Q+wReLqn6t@W6^@?`8=xfS20=%G*or}odR9me{93o0rpD4cbWMkK)9`ro zAL=Ercaml5fu3mcwW)e_&o_h6PpucpZ8(XU1*NyI!DZ9hmIB?A67f(6&W-R{OnNQV zn;7t4LtA1IXz*^*wT2!eunBq*+R^}G^+>n2beKjs*+D(PAPm3&2WJIPR-tn+DY(Mf zv|;XsZ4VB^NOhKM_R<~kQ=sk1deAttQVH=CHJ{b(DHCI`%}Z@V(J^zcVLnm2v8lEr z`VfyJ9kb=m=JLe}6QW6U)SM8%BnpL@DgOQE$yqZa?H2}J6T@o+Ypo%&NR$I>Sx z9>=JNvz=@-c-=vijhu;II)KAjGcqT-4Zu5y5&~IZGqk-~B|VDK1CFo90CocD&}RU= zbK9kceO?Bp6DK7HFns-5dl(Ic8i%0qs&j`AiY;)e4BbN2+gTxuBGnTjhfz?;fU(7e z8;t5FfS`BHh)Oq zlEkmYzK#0XZmz_7XzT=QpGU?-26#X=p482?hWWLS*@QDcwHwAk51FlGnu3JPMqmIZ zMHNMelGn!)tDvJmADEr-sArGIQM~7UvYRn3TZ0pL(sxL9)$5oo*}2djKv+-izzJVR zefCLYt6f*SF?$ak<$Fw7)Ra;`L~C$?#VldpTFys{e6A>)Zb&Nxkx34!)N3m6(3>2l zU~lqG`oY^0LL&J{p4sSwDFkZ`_V!6ZJeI3BhIwPq-7dlVzZyC3fh9nve1aS196F@K zXu^<&HHV=x&j&8Nfl^OyAu>#+4S)dhVGvFRq;aOn_qXSc!;Hy&*pa`hnsLd-*ym#0 z2eL^}-6 z)f;wo)KzkSu0lbmJ$*UUlzKHDYJ2!)f@J)v#`Yf%;K6E|WF^qSmz?HVO=nv3D>&jz z)iq3ky!kNQqY+X^hxJejc~#g~S7mP@RFn2EoT)cS)dX_?$RYHP&4!;OG-)z>iA#8z zbVukwzlxToVC@iT`%Y@KZVJz7#C0a~IAbh5qJ5_wCFzk}+TDxs03%|u1vn(Cv*-_+ zsomQpsyEOPzk>sKYD(?Es-~rE%G$YODpBJN2aW11+5CNk(4a|M-OJi5Tn~!U(gR40 z!)7hL1`iwL`MjdhOm`5s;@|h)H~fPO1BessQS1(IwCmxF>Uzd$TAJ zZj$Oth8n|@DiX_@YIkJ60g$=-U5S}%tEgFqnMLN>jia)IZc{ptTy6DQ)(}8CZa+0U z^?4MS{U#3t>n~wBp;mB$?0HT+cU|Vr_di>P*VIPmqvr4^OeCEG5t&{QKMo5;A_CISO?Z$*9h4Huax1x&PVLZ75aw$R zPZ={a(8m9lHc%>@@k6s6mW1#RzY6Odx+lzgoAJgoWt#dxLruE{v0N&UDE=|S{$(p7 zU``3G5!f{D<5$iv=BQAwFs+4|u5&W$)`eI!p)v~9JS+VG6=6L}6`Gx9x}JmS`|y)| zITR(FAoeFM5TV`ML8>FsN_mLhlp4~~(?GmL@=X-_SosFiL*l(6ol z9^5z1ux_Z((*KPp*ic$&iiB6oCO{4vbFl?b#jg_8Z>ly!(L+Q!g*L6TbKAJ6`7~4< z!DR&69{ncBH#CcXf?~9l=>-TiTDEMzP3?i9O^51PbQT~Ky$Y2uj9R{gco&!sLV>>Y zxkN!rpIL?$+h5*vjf3%I`2c)1Cf`t{rAfbA*bC(Zt);pKQ>cymf|-w^p!L zAn?OU-Og?8O;h^=Su#4~a=id^fMUV)3BUk5869E}!U&m%NK4Hkz?11~86FHv4qPT( zg^nWvc7&JE6AGe{1xo~#AB)_XDgl(I|G=Xav=Umslmj902oS16PTjtpu#3S)Ed+Wo z;NYFe3Y52aW=qE^6u1 zF%Ljb9K6y}_u;j$Z0ej#U*M)8dlI_p=#xUD5De+U^3~@eaXWXPtFGh6c$NE}3x8f=+D1vOci z00`iGb_n{#x_y_NUF}WFdz=0-kiAaPd;6ESqIG#JqmaZhRUEG)gj$4R*?)G&m5Ch8 zxYca9TJ|eDh{}jxlv9ELUcH|A#kEj7UpxPV%h8{YH`HDD$@q3*GTF#3Lz&!t5To1) ztaPnrjar->Lp4GY^^yDn+q)67KzeEz%f&%`^5PJby+P5Bv!?&voM4>+_T%@$o?a%% zNeJwtp^n!%JdT#56W|uX(M+KWVW2^mUs9DlQ_T7#nfjRrNFP?_(^B6@BMke(5(5S% zcR!7QFtd857eg>&RKEZXAIc};5JVrLcP$!h!Va&WhH?N0f*d3wl zg@)*zuaC=qU5zvL=O#R{D?J>uGxu{zf61f)E}G#bLRrHZ*hpka2~n)V7k%K-p;uc< ziq9w=<;K!Oi66tjjhK`vh^2a6>*FQcSD<>sI)`FCi>`G3U)w>~(K-J#2vCRjM8N4X z$sJr>G%c+m2(Qajs53ZNInYn|w=WA*C1m{?bRPJ4gprAiV=Ek8e|3q{L&Uik#koPW z!yx{QWe$3EuiklRoSr-sxMM=@0`Mc)CCPi2)LhwRowuATBGX2-2g3%>i0n;lCTO$dk-v$b;~HS3h!VjyolLHo$!ykDsodl- z`uE2hU?T%bf4r**5~e@DX&(9W+o$IqUm!03;>hTHdJey3{`$=n(_g>AxcU5Ao*(u3 zHJ?8xCW1abe@;6te?JDXsJ|cc_urrhWZc=!w1K|-{WpQ+&u9NFg`9LA+KU6k4F0zV zt!cx!vP(&A5^& zP4SD`7R@V3T#4M$!DDX&a$4}0U^Xm}CrzfjWE2P7Y+wxby}pDp#Wx8%(dx|@$o07X ztUPaW_q+ZHr9UUWY5cobqkxX^l8 zJoOqKpnfW5-xaETJ~t8axYKm=H14hrS6#`GsdsEAbbzu%xrpR$+omUfKjDsQd_wrme%=PT)^JfD_24CIf>Z@&+J z>4DqFAAkP(^v9>4v}E|}m%sk{{DaTG`TQr-LZ5&3_b>kbOKHs(>MPOyF+HTE$lTR+yQNvH$!1E7PKIrN025kMYU$4Sj z{L;G`R}ye^DFE&GX+KZW0O-9hY=x6d&W;z*c^pF&Aa8WgliLGY`U|8NPh(5|kmC!E%qd7|+&asnebg9+$8&l46#J)#cl|E-bk>&s9!2uK6;RHqc3$<1 z$TN3*jYp^r0tmjV;|&ZA>8qMsaNmh?SudNJ+!07XJ8?K>%?-kgW&*Bj8HPa+u67XS z3-L2#KG+(FB|V;AZpS?s=5@i`Rq8!1&A6ELnqH#&dWx>h$m-VDgWjtGw&~}d3NseE zC4f9tQ|Z;uI9h~!7Z&uY^B0+G=?>~=v9>ztSEh#!uSXSMELOcNKk$$WXr-tW_&i51 zg?;9rGcu&$6gYtDxhXi~CQoAmR!|B<+2{9(P}$N=_!GSfnsC#A$T<8X6*<5t<9W)uA9&5@s$jK)PjKAMbwtKMa0yViNG-xE&*3Fc+)TO(g7%PtA3x$Q63tJCdcj z`8vo{-QkRR59{S@p^%l?55Id35U#?-W`x*zhiA}BB~(9(6Tb7wOt8vTd?Y7)AIF4M z4&bHsVD886`oJB@J*I%yojWx*o%8@dMV3cE_-@yY;ydMz5Az2wSIWyKh}0{x39G2G ze{k)Stm$G6jhtc6sdE}9q%TG2nZ8q__LhAm!o8y7E0N^jq2eobSrSb8C^Y~1%vG*g ze?j!Z+h5ferN`sy{bMD5DerSqj*>%KKr8bfq9@VA(xZh~!AVvRy5v;`1!a=;!q(`C zLJCFmOX;K1WgiDI%>-ZLQ!vr$YC9aFcf`526(e>yFPBh>C8prWvkfc7lorbHq3d_lIN{inb{`DZhX!0ruc`?vB z8O`!tI5Wfbvc$1Q{T-XV$J2OVG#aID_`5xS-`D&^WFOtj`V7&HSu?cMuW4}2gKRAK z6!D$3-?$f%hJ9mxzX224cX_{Y(x@ZEu{RvdIxDtVkH7}=3fgw${T*Y&@l*~rwC;w( zGwH$FtNEixUZf4jK7C1VJNn8finzD1;c#pX!O$$(ejoCB=qyy95rO>$-GNJYN5bTY z_ZrsKV09nQyQv1i$$&TSk(#XZ?~Wh`T{i^7l!shyo38&HhVch+`0#wtt4H3@mVO#$ za>xSz39#pX19x-KKIKDn&B@)r14$(V5BEATJ(FoC5asX8)$Z?ON7vYJ3Ebr)=O?k| zD9$cB726KO#0@%N#GHGP;3VF_Zqjt@h_?|oV0jaro3YE8w9T;TX0***l6%t~EL(8d z-C52#Fj9LqGX?kExwb3@t{;d64#A=wQMkO!k`VQn4}ONaw`45=UeaJby9M47$q7bD zRS5Uf;i9;^&_3M7gtU2*WqVyeQ&kBkC4@%YJfPhKl3Xyq!Ypa7Mz zfHdUW(flYn*M?t$7owKoF+XUylL%KG!$MH)?Yc19x6S5}*@J}~c)+E?vLD?f!ySj$ zFao%=5?7!C>?xE;`_v)lojYrOm&iKD+}Y*WPtiF(98O>asU+;_K5tLi8Z%#uRUdS0 zNXYMji&9jHsD92cU*nr`pXQsGrC;^C&Qas7FWEu8)R%0hA8xtabm@`piOrw0&zlVC zD6SL%YO4KoaXWE+q^F&OFh^rMLf|%`vb^$=D@8^a{v=LlsvUu?TbArA)!x*wrwnFK zL0Ce|DPCf}bBtKFgPf*<_dmPce`L)rKNsHWSB%2XVU}3 zVog>PE<}u#N3B^EI((W`ufr9!SK4KLz$qPWQBt=NiGe#B@&p1;Hc=Dl%~@4^t04`~ zB89K7=%ug~bZp}mOZWfzTMV&BBF&jhDKLB_!@;2ST-P_*P72HKhAEIU^dm$6H z5|)&aRVW6y9Nuhd;iN{{`(~H86bx+51mbNzl7k(;5?nbpf< zbOF~w;DzrH=Zf7AVH+Ueu&ADS0FYJ*exhYgrC=4D$7tJKG%p*G2`l5Y>+ofSTVdo3 zj)79`0&&I-8z9X)xEvxGHx9}oQArKms0!CDc%tS4e=aDg-H2cn1@Rju6h!p-@bd)u zCf4xWcv|nx7qN<0pnO>rJeYu-YpL15|0eiSg7Bp|etOhy8WGE}L=vZhE8DyDQb;9} znJO@s;BXh>Qt+~Ja4>afbxnQUr?nK_FHGFw8K1K!){vEU?MB>gF6%%ZN=vfI8vVwn zMJcVm8(@Hq4oi<7oi9U~4J%2^9EM%+2HHJB1O!k57<#G8YazclcNQ+e(oz?qcZNBr zmzIUC_BK=wrf#S+5I@~&on1fFTcM@?3G^uWGP>Sta)P1GadB;^{@P&tL&=v9$~fHg zXg-x3KB%Q$1+oDaTFRnq!-r&kj9nO>o?_i-OE?MO2BNrd6?wA1Q0u?bU07+u?!I=T z8lV|)jqp_V?>G^)j$j)D-%Q{orR-4rj40&Zu^X|7V4WeM_mr&;kPSMoU=UtmPpmTl zE(erguFfw>+?Ko(!yBK7n=-?#I6?RnnhX}H${BUo#$HLz#mF+)o`J&!xP^i*C;~DF zGiFGji|(@Jb~$(1_Qy|2){P_v&7h3oYeV}JIb3o?eOK7}b6^Q!>lcaK%@H?(A8b#B zSD}A|o-Un2L*@|r33~=#iOlp#k+?i{>Xlq7Ms8+!9+K7}qK{xDK*H{$2Yl%H0sKm8 z_`PsD#hK3`_7OZW9ZZGS;*max?cfJWlL`~TM$~|cl0&1WJ0N)hcuDNDwKUZQ_=VwC zDvHixK}&8vlzHLf|YK8D_P( z0ofc3{O2yKZ+rbppkZ%)OHJ~Lki3x~$ zbXtg*<@D1#{RcqlTUQ|AeKPz2;ySRVPw%HNehIticR>Bh{$-{QsxaY%T7jLWCRb4$ zKE25f`pF~-bIbAHo0P?(ZD5g!0g9i?+Y_*JuPMmA?hXMR+~CG#;kj`cFmbng3A!Mt zK=4gcZ46^i?i4=sDaecMNZZ3)J8puvAEs`}3hjjpkzG<2c4`jao{O&-0=6 z)Baq5*zD-43cTQfh64}fS12<*NU3|LhYHu!`#{Suxb}1)9LOX*mS6_AQ&N0DAePZD zyxtLtLgA_Xo1@7?6SWjW-Tqm)BcIA; zF)T1L0=xP-bjpgx&ha#Sp66Na_=%uYc{|a^eg6ehc5f#-C?1`tard3OqRHMe?nQPQ z5jq#D)Bx*|a2w^o4D*~3z+VPooGYn@L@Y4{`vCHNf3%<(D%Vc8L`Mi<&&Q5l)$G<*L_>3 zSh;KT!jm8#9p^aDAz$}|2}JH}0&mNsL(ue&4oxBWUg^nUqW8e}3K~~jybCr}g{S?A z7jgp%pWX4I@uv;}pI<2$GV+F#Kg2_KF(S^SQ<$6YKP{`>K-ibmY$I7Da8NcOpKKHk z%3c=ZAoY!TC$;E$OUB8hTb}AFp;7)L=j+?)pJ%?(zE~|A3P0X6J%r!Z+K${QU{X`u zY0%|>_-qNtZhQ(HJau6U3{R5Kfa>dfeZ1JWNmO=L8NhliVjV?J?_S1h_=ZE? za&jNJVW+6v39rXGTn5YcvC7SQU_IVr6uj@(x$j@r1MBb}M8W&MFNT6;5jvL-@|1s1 z&;0UrGy#%|6H!22%vxMOW+F85brE<1p6JAetf+@=R0 z<^|v=kktc#B2FbJuvG-$Hf@hV#Ua9|+=a)-MBo|n3XSrO%AGo@XoLgs&TJiOJkVI( zr=vnV?rp4wo3mYYbhfp#t{MXAZDrtk0wS=X5k*#JJGYHTvc~|Ey6Qd=C=0{A^X<1m zbTJW{h*QFhegUinW*1T}*-zdXwYy)U$pDE#NCaks`V$8x=|zOkcxZ~G53qwgVu+K@ zIlekW0_s!tvU7s?)lQK6PP4xeLSie`P57LAd8*KU+^2o(ZtPb@CPRF&cxsEN98P>( z$sr)4NbU!=lQtv-$|@td`NCmIr&!}m{m#vx2G5GhKJ+ppEM~kg7?(n}ec^;?;28(u z(;r1u>~&SPhdNaOm!kdD7ON~H+w*nmR6%>9XvmWNG_G1I%e!UV){IjVtBkI{rRGX{ zeDlyp85Ql&!74H8Q43YKO;V?#OKej=k)iR{(jTnZx-zD{QaiC-}L2Y zzWmIWpZW5$!=DG7aE#{xoh0U`^MJCWoCkb|5{^0#fNT=C;myW1bscm9&<2NUr#Nyz z_Z(pTJ8}+?8hs8Bv+nGM%-@&$f8gZ)HylOo|0Fg_N0a-XOd|Wk?<@0ieqgOD=l{2( z%K2}|%lVP<50LXuCOQ8kly)RJ|Nj~#=Z|vg>c^}2le z^Z}($#~-8ospGB6pX~Rp{AmJ643x9qw%RFFR`X)*G1N|r)KW*OoffI3j#4`;-|6YPCq}Y-05%LDY;Vv$(=rW6uHw6 zN6DSM`lThvO{UIA(Jy`W9g{zK?2#Q^@NCOrQfIHgP&xYY(0@M}^htlj z(aF_a&3W;tt2w`V49)qFmRjRbDzD~z)a<58NPie=x8Fq)eN|p(zKx%vu=@6+x7WVQKnkG}?2ZvI`Cn@{Y8V;)!(z@8GO1Ajq9c5YFI1-f?s<4~9;rQ8z& znI$7qWByCX*HpVv$?Kpo-uW`L!q>HZGX$Aw6zcNT)D=sBW)athZOuc#^{EVWmaeC!0WJPsO z-Kf}FP$erz#XIX9U3pZO*OljNS#I)^QfB_9w>s{1E41_r+ldCNrh3}>gr}~kJ@FD$ zUq?<*-$FwfLaLE~G8F#FDuML$t2=ev)(xuw((td`1?Nl}DP;r9Fi;j zm&^nLgXW>mo#XXDSMt!*+rJv63y}h_nrSp&MD&tFQa|32lLtvZzJgTAr9&hE{dg=3 zv_(jhyBul9=i1&LQ9phVb_Z6fvp_xm`=iL$*{;5MZy!jpnn^YVUGo_W#7RsvD`GoBxWa+?4nW=nuiR z045~BbS<@?=+GeLp=wFb-K|zg?RKYjDC3_Qhz9mXmmDC&7%hDnNxvULe%IayGb{TY zNqT55j@EDY>5or;eEQ?lAD{k!g8KZA&;JxNYCiuHaPUe7z>y(ceU9`eeU zUlf(k7R#3l5=5j%39{$I$d@lVvV7Te z$C4-akUSZvI;AWxP`-`?$`_D8*}?zO^5pfS&c2G|$;WfmN0BFU?W5$$wyao2;;={5h(qG!!d*N59bbMz-fHRGWw%$L zQK+AHLwunpzI58+C!u@ndqFTx` zT>JdQho#GJM^Ber^+MCPBmM#@D7xN)A9RGp@EeSa6Qna<*AZ_w>mLepn8eTMY7lP2 zUGXxUhgS*fYAD`9?~?@3@DL9l*w7NyQh!JOlj&X_QvJjof^%wceT$a54$*Y`61-9d z#bmy|LrX^ysXTP+_9M`CF5}xMbW>dys+@>V3Y*=D>TH@z#zi0_(iJnDH{0{&9Uanb zFfQ%-YoswZ!GFivU@Scne_pq6jh3gzOT0C%A%Qje7ShcLT;ykIC~(y(9E-=7v$y6u zpA6z+XXX5!+)6i@gVD~dkd|%bn~9G>Z!`-1 zYh;7Q>ZP2mL${0`$QRdFIc{)9+)D~{Gm#*F*?kq^p)heZl{upV-mI%U z7k#++4!Do>XYWRNj-P(d<UJJ*0LOy_U&teYupe}=PM98C zB4iFl&9#a1vp?ht>H!}IcsTcn;vNJ~a-`H!2`(0wT{P0|ShI0dk$ygoo7+kYDsS>u z{;-3A!Ys{Wpdbv)#J?lwb)&f-_oF=pd>)FQqFa~c@zJ@&DhjpjM%LPf%C@$21`x#D z(+K^1Yv$7mDc9e&%7c`ZU5V3|0hw8Uny$qoCFYrgj2q)y;Z5HmVO`GT)b7XCtkQ)( zl9n7J;HjwUxGnWpJ9FQ9cwadWn#q3F(oBf#L_wxG;a2IyM!|j

    )bUyIRd`!W@6M1akBUuim!X( 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%0DWm>nbWcuj{;* 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�Ej|Y?0`Wti0Yh)~HZs^rK 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⪼|AEG* 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%0D#5 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

    o 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 I;~}Q&%X&* z=bZYg_)-18N8e|@vBf;I6PdUdjKT??PhMsIh<9Q(x)=N%XON`otDL|mS*dvYWruYE zuDQZA+;vlcG3&>B&H7QvIf0!y{X0xomTzQ3x8riK!go!U>B6fpIsLce=FgMeFyvsf z@C`GNm68*{y`XFRj;tJ9i>kbMfj`+j|7|j*|5~%*9G6+xneD>t+NeaN^t4yW`##cN z+}XM3_r(-qPW{~YII zu6+})_s9wSC|W@KO;TT>T-!{jYR|d-Z&<)gch>lhz&5PaLiTN=kh8F?Z5TrEb#~zW zw(CStX4!TtB6~1@d!p4-+vabDZd5VgBh5VSYh9SfCF?`)KUnj*Gk89iz5$aLmoL6E zLViS(v(MknOa$Ws>SMxI5R{@z?9%(z=#b?5*15=H3wC;qEXw=VcKP=&kviSAT+nbW z9%&RzxmIDbOb}ehu*i0fDimakbqvcSU#w$jk$lo?!8*yObqu?kKNQ!0@jZVSex`dOZX+hXg8fbSBGdMi0J8?d z#}UrOQv!Hg`;RoZ)yIifVIDCQj zHX4&Y6cdk$f(U2Bvl0IO@ADXV#ab^LtV?_UJZ5+IpLBc8OBUR9kI8x-y#M@=uHC&a5cb({BfG0FP@Vf98*?Xw3 zH_3-`ay(+zZcA)mA@kbX{I~=CNah{WeL8;EVZEacxFS$`Kg)ZhPW@~LABcVDP4 zp-^bNj4l)lS?Az&y83SX9tQ@^;v01C`3*>F)^``riqO^Iqi=QZ`LWPNz7T`J8Q^sC z`=#D&yww06?neVzi5ZA^aWar4__)K%@>mIx3&x1?{{3w^$t-dA3+bU(`wl?AF27tS z``y&{+HYgKUTQxCw^{9RbO0<&6Dwcbk@72j_&VO!_HQwHeRL`w6%C8UA0&*4UFpJy zpz(JI4K51a;=-AB8Z-<4i1h#_!Yt34=Y@f|+R&Ph-~TplPD3HCJyp2%#q+s6eH~Zo zg|djv+d`inqNln+kKjFiVF+$ed5V$EuvWydUt}thAG`!&c~am2k-B|_^}Rsr{`524 zJHv?w_Cn?bvCCcf1C2QRN5!YoYveh(p?>|>f5w0Phk@OHrv71)&rE-tZoB+R9rWr} zt9yPwJQl@dQDRQR2y{_9GXn4Z_+EB;i+lc?sI+E7nI}82F(0@CX5o9;{l79- zww;~5@~hZvypim}XE03nh}ZGun(pp}^gk_T;9IlyCzlz>kN5i!!UwYQ@#bGyq95xw ze?otjkG5Ur#R94wJTlO>93yKaN<7xR5LIosRi%l{wqH9gdH!?4QW+nPI_}yJU;AkjCg(+_|1It3-iZK z=8-A2Kb`HK{|eF|H%jzr-OE)UWuhN$H3OScUlwpPeLKDgf{zHk*=qjSVjkIDfbN$d zoUHmZGks;%hjN~j=Cf;?p(!%zo}J$8KdjM|^7bKN{!btXr`mC<>I)Xs5)`xwF0!Xi zA|umRRc(a?|6TS|RiERc!0$H*dF?C1<8ATita!Y;2Kuy}9E{h!?5;aY%nH8LRtL)S zju|y+2Kg)#ht{eTeAa>feFtBkdE1YxO^0QE44E-fDE4;Mml^3VSAEiEAa8hx)2}5f zwwrH$V(#Oi#C=5KwN+aw@#k%C3XwjHqsUL~|H54hQET{Z&@^=ps*<=)ZycK=-vr0C z8uPtn@%Vxba;vXWsE!vw<;FD~3zZDL}z2`}1&sN~QHU_XoiQmpxRUI%LXC~kIO zb$hq=pV|+K%!sDs`K?%aHTx^Bj%ea${k-^`kT{;@#^M$uRwZh<3&1Gf3*(P2QzBNVi!wd zF#mO-eXKP<2^Ud(<_70W;TUnvMw&9rK&%+V2YQ2>2xZXBL^ ziBI3jk0a7&6g}N(N;jSk9!dxfug4j<&b{zQFcC{(lIe*X_JoO8|B{S}!bvn)II#dC#HwE~@Yqaz`H@bH zn1#c+<&>n_UH39{F|S@tUgExk)-m}+U3{MEctmX!L#1wF;UKE)$>eabWVLLVf<;Q` ztI@k#!yH=YBu~)U=PdrdhZbl937LATkuQ5nC~7$VhgTFo!N^{0$W`2#l3! zupl{8gz#24jY(f@?;{pbs1n;Pp%}4+)y}p#Xix25iE7+{k1(Uh317r4>SF(oW8$9b z=IV$!xHHz(5F58E*0n5_IPI}<_%DoyyV3FWZcv!ItOsVfpqf^cMK+jN|g{eXT($)}OF|&>*!}`v7v%*&!iLYXo?pYQ5i% z2R>+~ow?SWp>^6S@R!;jf&ra(3~(jUe0aY&Jfs^EcZ17S!i?DJG;6(ld&npMPIn7m_lKqD#o;gAs^UHtYv}P0aP>4N zes@g#Q!&P46tq=I;cvJ)53Z!g`t&Y>?6Jf<3dc|-1bYm8>fuKdlO`mhf7udrH5OfC zg;ZNuF=4$U&W}s-A|<-6aj#yUmuxF3W2se55FxS}=Qr&FyPa@~GLWFp{BpG9@Q*`^;lMVyeOXxgy->$>bZMDC`@qswizKObt zn0A<^w)C}(4eJovd$zw01;iKftp1fA5{LB}FSRd%BRlUH<;uK~`h#a&arko*JTGhN z=6a24>IX4#__vkqF>&v7b3GLshkq_w7aNEFG@4I6>vME?qg(t3-SC$q@%UE}TfIiM zVpFgGRL8CB{|JZc|4`fYpT6cwUvL$d7`pzCKxL;}H*tie6xo(L)_^;hukH^L>?dE!2aIWtb zhyN#fQyjk!jT5YeG4eU339qAbo)y-&=A||Z70@2hpfG1R9`$tqQW`X5^W-#KoJjW# zDa4^bnh4OUa|{!(V#QB$gR)*Vj6!o3uak|%3iEB0+9y-fD>V(H(!em$r*vXc3YiY` zij!-HC0mKGzGRpbWdBax+F@w|M4!kDzBbp81=)B{pVq%4?<|aXaDO2!k?PQhQnWK9 zV7?sb1wWN1xH%11z{sjJQkYgp<^)d92~=7yxdq3D4Hv<-69huY&B2!}uw2s5GD%pV z#1do;Q^nmCk8m)(w(mw)+`TczT`{xCVA@bFc)}T09*J1f^rfo`UqHaDYjFIIdsaO4 z#`VGSHOUhr;&F6&_*7bIjh|_(8fG%h)~rIh19^bWoi22WKQC^AL4SiIHniV?xY-36 zjjqUZK6)Xsrf$*)=mBsuAbX?fIG2Y(zvq1P5R)m>#)h5tK6nYcQ6ByXbFK ztdSAk*-CwxEk!tZRgL&?JKKlhAo9aE9{-5Ukf#{$;5M8-bBEf9e7_Ldz+R|R`>P89 z;akuHld#}orF*`CJ8AbdF}S+a{u<-1`wH3M>Hi1to$8TZ3T~j!>ci`v!uai3 z9klSJvrRydATHmj2A7L1r%>MErc3?u z*mT@CA&KVz(p2dDG2!1OokanCNM}c)6?iTdf5b4%L&D#uL|9YhDa@sm6q+YoI$7jF zfBY~xk3@e!2e<+2YY|v)$6`$wpslbwZ#$h_g+sz*VL0&k(*~Rn^#NW@7z|D;b}X(< zxR@#-nla9c8Zud!Oc-)gp(t(Cp}bX;;uWxHNqoXc%VKVQyKOI`naCD{rUPqs-(D_` zmrjGL_N7n@d4@_!RL4ng!7`6njX&8WPx(lH(O$?=BWF=UbXuOu0&>9toP(?{8_6}Y z(jX9OE~0@5_k0AycfwR|E?$O{n}9&iNQ;aUggQZ?RGVdcq4G_@+euPus!S*Y0#b@l zdzmGY6-2ZbayF_5!QYj6gp7s{sQPhFK@}w^-!sp&j2>AovKCp8-zrJeq>WHp(_W}? z$oBFPSxoI^r+_C*;Z}Qr)d?4)Z<3~`*hQ~zXi$b(l5Bh~H_mp7YIGKuGmbJ)Mlr{AdBdO?NH4a#Yh^B$SDmxUlA1tyO zje`DSg^Ep-^#=*4|*_yD|op;D)79S}71B5groI zuxm;7U07iezt%;u1%4oiu~obRB|I#$yS6UtZPdoJ&L7%3P4chXlEiJW>m;{)Uqu1Ly?(e75NS%dI!H9k1 z(4(Q2$nIMY(9Tphej&Z3I%wj9m18PDSi6*s*0r{kl2dPLjqU7Bt+TDj3_hE*Q)hQ; zBV@2<*QL(sTT3}bRANXpy%0j>*F2G$r`j$aoRwSOht3uYCb*)wrq@=BQE!reKlJU} zSXRW1mv-FT;)y?q)8eg?@8JFRzT)&k4>aEKKfe-!7#2+B3I?8!%G|#PaV2neTW&o- z7FFS)^c6CIW9ov(cgevKXVT7WH}z`#gaT9E z|2lNnpLkE2&U<@IBAr@-`8)mKi#bMXMXOpd-Wq~w!Zcwv!fb>YgBgR_46_+# z3(OXntuR|*w!>^U)0qymifMI1cLuJvN1H;_(EYrPoh4Wv!D#7J*gt6XBFH>^`G zG142>E0-AQ4WwMe6C=H$Te-wYZ|GAlG143Ql}n8DhCRw9MtZ}5a*2`NuvfXnNN?D$ zTwHgmv_M7B4R51MKE%dzRDnNJN&{PU()1YIuRw#Bg$8f$jpxAi7XAkT zc|$|rHdd}j3Q$PcZ*y&3c7nVj(7}X}CZ`R7McCX-b;OVq%L}J?+mIA*_%YMrFtZ5j zD+SUC6-wvEOHnG+U2|$;pnV?6UWOSg_|Ycd##6}uR^_kj_u$~YtQD5E z^UsGzXg&$6l+{Wg}`Nw=&f6aYK8vy1iR*V=_{^QRk1sqrTpoyjT2{6qnOlb<4A&0lBW!=$mxmxs z@FgqL@vh;x+L>)XR$LwQdj7`7)p2~GW92O@4yUc-_&T<}ctm{h{GQz(kMp-<=5PNS z<=GES>&^SufLl58EJhx_o1%5Mkak|j^h)k1$CxO3P>k{Fw7BRgwdP`_ZO(@TW# z4IS=7U-A&EeZgp+=m7OI3Imlnenk&cV(W}E%OJ}?r>j6U*mDS^9t1))y zhype!(<~hpdsy>V`Zz)_!noY-`&X|g;jKaSMyQXh9m@%}37Aql_uJut!~#WEg;o{F z6&)hdCtLIruRzh~a~HxADLG3&Qu!wXnSoiA_*n$f;!0XzvL8Ql0jG*hmdY)B;fPvdtNZ0$lTWsKMk}iKEwAsV+(n(MAlE-}VaCkqHpNA( zUpw8-%q+v|3HH};fqfW-fN1qa5@D=jV6ka9IgBesreE-xp7Z`pp>qU!5PXshc-_dy zBV|lXK3RknribJFm<@@B0zc-Gi;EG1e&xQ7|E3&R4<9IHN2jWSFyh?s(NTyWv%NpG z2O~1x%Ny|nsum>7#jJ8Rw1SGU242xQVfCK{J{2Hq<15v%uabdXN{}$RxnyN^T()zaQL*>> zAP%Ynepu3^msJrBfeX|ctJ9JYYdvHqkKBm%3Di1bkOlrCIsno)+9R~t{Df_djtcnkvuthN9b+PfY7k7rwvB?hitCFs3zqE$9p! zfjIm58(Z0Cr5Xw77jTOBhr4D`Q6YO&w^G$c=$cHvp!k)CY6xP6tnE1H*6S!J$gF_Q zPqA(GRoVLmI)`l!{!umLU5a0DX8eLnO9>G9i5e~0i>!Hr?IdqnyobU>=cjQ+Sa;tO_P>ggEX(QckGI7jnt8(E% zm!e^3;MxqZn3FV%xfDaX<}pL*p4}YesU%@&UL86^Qi*tNyyq+60RSX}$LF8(rlHrUacE6O)A^tqNKp%$hC)gQ25fN=Bs)@N9)&TFa z2Ws73=I#4LQ<6Rv)lidl(^6MV;|Vlu50mHFv4;=p6TBo1O8^$E{c%@cdNyX!*n|yB zIW6U|fCY0nP0z;qANUb0AzH8kINPMfgr$*|Mp&>0I0IKprTEwr@2(n?D! zEbYMm5{y-Hv{X7EKS#JF<@gaf z8*wRds9>f$PKztfHGW1SAumEU%rF(=72lc{wDI1VYS2DG| z4d;6f;_Mdrgkq+echKN*8t{++mgro3Fe!Jo^PJ)+6x7i^Vgm`7KBED8IZii%$J1q6 z$+8Zb=~_RsoKyzyQ|Ma?Ai_edz(!!qb?G!So69!D!y17q;Jdyu7w2=!S0e}>y#ZFFR3ol zPh;N-?3)xkM0>ZggY_lL`jj2qFR3oiPuGG0Ce_XP>Dp%62UHla!KCcWMPA^9Np)d< zy0)G6g9x)1|0syYn>C8oPJ-lta8*ri$0l4Vg6F|$U#r3dX_xZLZ3Mdfcp#i`DZe}u zuFEe^k?ZnXwcy~o{8nuv?R!+3;N!ad7U}{!%ZM_7o9pshs0-{YKj7`O`-O16T>SZR z05NFazMZ6Wr9)>f`m!mB?cqmghZ5j1MMz7C$sw&$hOsFrNJk+GWo7a0zXU{qYcG(t z5D#1=I$*m4zBGv~fi^NwHCzDmq@<>~5Fv1Cf-|*~gk}?vL6`bdSqpKzq0dj3q>r{q)gk@4w`K8=YwsamfgD zd@9HWXK(^@OKlMdj)`S15eWzH2?09M_htvd zQMox;2HF8a(FgJ#MH0viV1T%zUZsb?)FRO#d*#)< zkW>3PQxH&(#VCy)i;)Um#gxJ!jIJnCb|+ftPLwrqmB1Y?FLR_^ICG??Ge`K6smvBE z_vkW5+@s2zC6O6%Ud`1Y7Rui`!Od(3F+qqqe8z5nk^eanynUZ^cx)tHK_11;{Ed11 zgIyKEK6Yppmq9zlF>6Z@Az^N;7PCb5|JPB{1;;|Y<07TX^PkjXfzZ?>XECR1_H&Q>Gm_nN}g7$qwI0Le2pe8!;z%st2&A|K=iAr4SU2XnO$9mpA#?1dF|!cQ-% zJAnUw{B!d*=(w5ie%b}Q0h9nypy~~12Tw|kK&N@F9uA?Ye#_p zK;Aim8)wLEdesH^qsMz%;Q{nM67?LKM?4t77aWmCJa+VZI_ zQ`$1BEmtZjLicA;nxV~9Wr)K`Wui4J0#MLm6LpWV@{1oHIwWB!fuK81_Paa-wr98Y z47fbs#B&xBvrl`Lx;%eld-iM3pv&`TwkHK7=1H2CUWNkQZF>%A&q|l)a@&(tWz1@q z=he37e(lMF9W(ae=j~tV8Oo#wy$@1ei@b7^;{I5&*q-A{g^^jSn1?oB@Jk zk~2bJOcH#7E0+x)iZGO`p$LMO8j2vasi7zci)4y%k3*3RdmM*k$m1X+!`(n$ z=|MH>#}G-Mg`4+Y zjT=`&5$HO{V4qiz`#$8o5_OBp?fW{&FnAdB`8;B32iQK?tM=3V91w<->YzC>vTH}7 z8-5r7s8*pz3Vps}=p##_^hA|e+8OEso9tWhe8t&afg_fRA`jQV<{I$L8 z<-vZB=WYHB`IJ0|t3FV&e3XFrY<$>v6*<~&UNV?)-yk#e0uHq@4i&wUOR&8~T}zY~ zC$|%eJ6JK!77iQ#@!f_b=HqtkE5l@313Fpr+)q}uV*PN|2mW;|FHJfjVMSwLVM>L zQMLCURQY3V#2I*8>~2M*oyeO34LMaJtd`~rfjC%l=zXxuIsd914w z01CWgA~@D=aV+DtelloH1;>%`X)2gLgiUw_X#v;AmC3Mx>rcg8M+TRvU;;9*ObyWz zf|p5)2}>g_7(A!OXofeJ#V^3# zDI`9K2PJc%y_`~NI~uESeViHy=Rz4YB}fmLmD;Sx4ay2$jt1NS&e)&cw*a6su%;)fmE zGVnw~1Aj~S-d~AqtdnPNI8!Q_%^y=j1|%eZOJ*{eM*Nh>I@vVZs1zwN>G9Q43CZ6Q zz5y6$#7_yI?+Hw!jk*$fc_uJZ3cJh9ob_-x@m?`xY|PZ=Qk<8C6EOqg8c7rO?F6nzk?1Iy_yG|A5g_ zILau&0bzJJRd@xru}$=<@Th>_$mC_%|{5Pu`L>|+mCZWG4Rd(#%=p12aLia*pmbBgyypCTEI;u%~6t9c8W|ZH?P$Va`0`VIT)L zaLjusY)sus0*Tj8$($v`(J=p2c7U^9LoocG4FaE+MX(;=7pXrKKaKcZO#J5gZ>Oi= zyeM8#gJ*@VdY|{a6hE9j4HF<+KY;-IzL{-%*>+cTXUj1R?yX!OMrUm6NCn4mFp&00t^#8=W-ylgkaf+&1No<4cT1LREUNJ zdB=w35-OMrpn+Lt;amX5hI{2#LQ8-zjj3Eh+!{>>yzu@D7C+?dl;2e4iuib%hKGf}ht}+ILyn_u(6Rk-o1Xfu=)1 z-bYMnpYlWqxgh03278&wy~VJ=$sB5)=RA*KO&<{StnHlhE;D?Q&gYOC2H!akF|kMS z6NB8)geDBcsfTUa3O`J!7!<2I=&R)n*bN`qcNseff1ny3LD+5~p5Q~hD;9l_8e|Q* z^dj~olW2m57eKsmNDn2mf;oSLJ_CKKv7%FPPzca~?gSKqIymc!Mg*3vDR2!8H=(E;rqd4+>zrvM(UR#11#H9s_$8uW zhO`(R#bvT{rkX6-)DR2W4LA3e;m8)e$A|~L(F{WE#5Sr${G;jilYVwG&^BT~ZZ+b) zL%6HMNR1U_%~{%vBxkoUpH|=-n&lW)1Oi_qMnPM%q2rb}Tjwliz-cX#B|}mJ4z+$g zgP;;T5;o_WW_n9%^AM)w>zE$Y%De%lo)*-~Gyvs^ss2@G%zmE<+>8mxsxtBbN0oxD z%0}vQ#hg@aCnM5RaJeTNWn9Doln7r?R&CtzEe^`5Ta@l{5l20E1?IMkKPwF-zH!G5 z5^6Di5kLsVxMQxsVk#z0f9o7p(&r@XbAzwv-3MInk@DF4WI;qXvH1eigj2oFHi?4=gCo36 z@HM0?@L6{9z_e=NApDVjh1P~A4|agNkpBec#TfG~hImtebpD>sx8Mz4jPTenPiU4< z`RP+3LA4ASBPRmO@YDZI#(I*_xB2rty|@VtUJsMZ_Ytr_=pHv{N#g7SFu_Xv#+)~p z+*1rKj8nRWVvI7t>?ftap%Rlch`%|z5J~ts&PwD`ex6B5rDb&iE?jGkga`36`&|Sq zxlERSq;0<5Ox(T3gp|95LHFg{Y!a+D35ryRQigD1fDM;3&97Ix0?J@|bBqB$;t$(S z#(_B`f;oz@qlLjHF(kZ3w(=^2>;p&mkX6MvDI5}9kV6xzq()y3urcti7^NaPa*CUW zAPX>wH~8~7g9>6kKvpqaB87#2#CZbn*yAjz@Gi1Pb=eRYXSRSX|VP=oo>j5>)D^8^YcDzxqqQ~i0V{#Hho{^Qz!VgmUstG`1E}x-aE$n-YfC0 z8%xN(vA&;{c=ng@_s$6zkvPUfD_s!z zP&Vo&HA7BecMvb@J(i+qDM0~-&~;1Vf}IEHFEghnYh z00spa4Q$d^tQ0FODx*XvP|XFGQWVRy)WJ45gUY!^`<5%`TJ5Y<&UM;Zt(@z%Go+lG zw9{11ZtZ0Kkx`#^#+0*PJDZhrk9M{w=YV#$Dktl}GPf(|e(mf~&V$-X-7_-sz(CzG z7!d_veF3xv&`09vhZRUwZ4B!84ctT=L_72_V49rbLjchhh&+dKVN*Z6pi)ChCIWH{ z2dgEP5tR)9nE|L?EjzK$4Vz??zeo0BA^aed6w#8Dsk9Jm?WAlHWOwdiqyZ-M3Y`?} zP+qiYjC)DoU~_XJm}o#*UScRRf~HrQ@x5i;fFmbfAc#=J4nypQtOVwZ?Fj?o--PwU z7!ZJkWTJ?&xui<;A=RxyqsH0Wj1~8cR_N}Qc=i#-xm&qfEmVZ2kmiJ2$Ovv}Pq>3@ z1h}O^;TA%IdjM%MzEBd}(xh+;DZwqJMqO7+4#3oAO`%D(nvEbVC_H|k7Q_*Dm9ru) zB!?i<_Hu1w;9kiJ;hlwXEKi4oM3QBsNqF5O`znCC0bt@6EIRD_@!tl!yo5--#Lk zc=2Rl8E7)LhlHnm#lAz^G0`o58g_0A1FH&L3GuG{eE{AC0AeVvJS5Te;s+^XVCY6k zab>{}H}7$D`*WCdyD8nc-RvB0cl!`GX|)N}1FO>$4Hdvp6lDBeqLtML8|*e#J`Ck6 z2(*zC6TEmq&d9X^fSNHamiycXjFsyYsD(I^3!;pbcPdb85Fp$Tb@qN^<+lVBkl8_F zc`m{0RL~ga;c`xAkFj#L0<{BUGu}n)gT~4_9UGmysWFs`eU^qd5^m<;6Ez&Okfz4Q z9Q*?gT4?BI!ecr33mV=+cykWEOT$|UZ^^;&+^nPndAzByH3!FCMuh7-Bbq|(@ajVq zL;}KYgU$qR<1+Dh81|j4MPG@ktDLc=pqhI_NuT^^C-vHPl0Cm@&0Zrl6`9D<9KEzC zySinH6U8o;ZUkd;pw@eo18I>H@MF5<0{kScGgVr672TF5P<&MmSXN6RP)D_+1dvsF zr%Tgny#u#tmEIg9T@n0@`>x2sAnq7fkjlD^JMcaMD~glMxJXLQ-T=Pfq?pT8C*WDb~ORy*{L?A;8l9;7{Pec0hpvS zWOiw0?k-ykKh7?5M+~2KPRT(~7VrGM0*9Gh%54~W&%lt`Wuez*D3Hs+yf0HGAD&f| z3!?Uky*)StD3y?(!H%35zaudG86;e|F}Q6I>uh!nmC&iD;A*=&YED$Gr|C?@RnIJh zEr%J%TwJ|6B^@X?7w<+&k;G1v=bb;oT%71C8LXrcR0YJGL{K+!zSwV)hqvr9&`x1& z+o(Qt*Hzxw<3;zDcs#F6^gVrw_uYw~e&Q7Gnv;DWo$TFsvOrGuB~J0&dkTLaI|al3 znp1uMS?c|lQ$Kxgsdwk8z8{r(Ul7Q;Qs0(R&p!G6_NSd`574AO>XUy)t4x9V(BHt* zM(62$HvuR!5Uh$TnnI8%c(13M(gjz@#}FWnQrhrSBKox{LE0cx1g79e-j)hXsiY0e z953V07NQM5B~vjJQXLFiBW?Im$DXFdXlo`6Kl1KVU`h*Zt%TtRhlpsyPsz#-)P=Jg z@aZYl#$DY;Jz4gY(y-NS+_lx}hr8|!@r}W4)IXB!k6((|B04c-J0sQgB_D`?S+y}3 z6H(wWCL{F_@&H33wzSU6Sx+)Ei?Q&ZsVfU;zVN(roJ7BYhCR;3YQyUgX291Ef+Omg zaPMFw@yAj!NkvK4rGsb46=3;U9cF4i*ui=EFAu*#>8={@+5f=pHt!Vqx{AFkMxBx_ z_WtuI-_~O9eWM7uz1Y`V?D>WKK9hS)0%(@~Id5^nLoSh31%*)1$tG|gJpTh9sTp#W zF1RtS5yd;GiUeGbqW&=-Kti3I_on`oH$7c&#P_CvA9)|O9kh73y)8oCW*YSx2mOl) z6N)=n(0j2u2n+VNKsyafkd`1U<+PN;Qb|iCEZE-?<;F=fL`w)3lNJ+}Mp_zS!Pb^g zI~_5-2?eYI{SsSU*hK?kMdwvq0vcG2U|eg76XrI$dHh;=q}A4IbiRoq6>!gFiE9ZC zw>mjbPuTZq=(spb9_ZozpkH}?w-kR|HvR_Z#N32dJvnX;>&<|e^Tqn|Grwu3o zk6*x5YJ-CctdE3M(v`<9I{^@O$<0BCSj`Z$glLhP(`C{{OH6^G-+?wBXtLog8eRvq z0^UmJUh(7|phu0Y6M(EWi00l(SO8I5h^SqHsK>p3!EDs$^gnDO=9LpcS6zV=Zkyuv z;efM!_%2LTa$VKA6A!!n_#8+ef(uqbe64uQ5n5eX1Onn~EhPlR*NSJJq1c9{oE8vY zYb7lpzSe45KzywsT0nfQCM_Vo)<#-DbFDF2nqg_Cr3IE2T3TUgrKKH~_6XK8I#5G> z@pB|?a}>Gxna(cpm8+lWBntK2&vdR;P8xKsQ%)Lmu2)VPbZ$~k8gzCmCk;CLl#>RX z{mMy$&OORWgU$ivq(SFi<)lI9e&wV==RxJ9!TNg0BGg6D^!1BVZi1$h6E#$j2A!qK zNrO&K*WgQo&T{3XL1(3M(x9_iIcd-tQcfByhAB>5%_TQN;~Cx6Wvu`~V}NN|BW<_= zOH6^p08#fsOVGTVp(Q}GjzUx44K45%4W~&2dANfX-H&UBb1-u&p+&6`%Bf(k76zu4 z!c)%s(xw*pBy2fdmGnd`CCN~T(P3c=P<~PA!V;hiqr<`$m>P4!!WNj?Vuyt#KsiQ- zg)Kl~MyK1Z3yxJUGYvkJf-=1x4RNbKe$xI!Q~h}_tHmLSVkHHva+1R;&%zEh}OW(C$7wJk^aP=Lr^`m-{_g`PrT=C)4sVYYfirKZ@@AR zjrP4f#`EZy2_Dbi`r&r?1#Uax+c`(%7w=zUo?VW%pkvL1i#?b5LP4jg{Zz8n`r^R zXav8&1}a#)Z>fu9oU;XKcYhpZS~nN$j^{##%^MrHt$a1d^ipiKi^ryX7TYy%OOAAsMn2$X9-bN98|H zlYoE*)R)p#D&P#cf1n|NpP3>w1_fM0)jEg;;VM-uES41z{usb?0*F`_(@t5UfeeW8 z0J1WM0i@7=x1SZ`y>XcTb^wYS6)*@X9T)7FGpM{_$F#vdv4`s{U|*}k zWAfnK0)hF1DiOkC3gO%Wfmwt;GN^BU=u>eqm$27&aEk@(qy)rmrhP!!TWDt+1KvtI zOAmWH?FYp!ifabJ@V`nZ5#!@H86Tq-RL@@E6%sPLL~bgNaS<&nBfY9SU1)Ulf=;AF zSE;y&d%A++TBBX%;##X+mEu~bUDe`Z%P?L@T${AZ6j!%)HHxcGyC5|n_kQha78fzX zR7f)lCv=f^6jtbhECCns0+-g}13=_tCqfF~^yvhJAFvz@uv(X<=TMRKt@7~dk%WQZ zN1Q*bD)O!Md;Xp?{nTjRzxh2sr%3P&f9y}o2fPf8;z7v8C@@u$=>$rQ?wB{JID1qf zApwlpzFnIG^>Hx)wBOYYOmp-m;lN3QPErn>H0UJhz)6G70p+AYC+PvcH0UJtz)6En z(hi(7==|?5Cakij6`l69VpUn;X+?r@I_v~W@F zi2H39LAVHMSs&_jbdE#)s&Lu4kmS{VIku^15X&vIorf;Z7|?hj9*_mSWBd+Gk39Asp>;yaE{rxB0iQ<%Yj zGy0VI2p?UsKC~VUTe~0xm`5iBTybO}07AK_3T8r(p{8J_Rus$xqotl;W;sl#31(Kp zgqC2YRuaq%!5xCzgb5YF%tn~d5X{sHf|<>5H^bcm6Y7DPtuUb-n5mTmcXpubVN9eE zN#EJ2Tr}Y7QZ5>Btx+x-aIIA?8gQ*sE*fyHS1uZGZBi~8aCIve4Y>N0iw0c%%0&aN zJ<3G`t^wtu0oPvTq5;=_<)Q)CLFJ+WSKc7+enc*k_lO)^l%%04qybk@xoE&uu3R+W zs#Go-a8)Z84Y)$eMI$ow5jp4q)hlusr!z95W0>9DSkvkeoBFXPV(Xd|1zn zFshT61bUt?3irHFWX^xGVg3tdX5urKW{R<^O%8|hYT_7=gQ^3oJQJ!wu&9%%JPN8n zu*ebAIg^8k6v7W)e(*~I@d@$X5 z$a)m*(DPyuCk9udw80B2 z@GO`X?W7?Fe>X&ayEngmJ_&gvSOa$Z_g>$B6nXCR`tB+6bWzM$TSUMcIf>(V`y6i{ zd5GZ?XM6vP`VaRv9A96h*sw;#jpOU9O8ilR(*OMRRarshNG!{%;({WrBY>#ga>*E2X#KfdijjoV7y@kiSxb$mVJ_Isb{HU+@SWU+}QHHUWuPfarz+shkE}6wVzP{rG~%C%oWsgf$M#&Xuwc zmJ*Y5^-D47Rv=hPOu8nwaE${$c!yq3vj31Z4(tFMX&=O}HI6U4);PNI*EjxT$oj@s zy}t21-EBYV^^JP2ZzMd*35HMoc33(l%W?!G2zh`~pPtZ)2Ve*1hP>lM0>vt{r~22Y-g@EYkKXY+3A~c zig;V8S@TT%R3$KhUoUS}Jm6QdK7Hjj=9~M%vz;58@b0|{56Dw3c}u}D`x1L=o0-P> z`!sfis7on$!Zr}id|h^QS29uV$gUO(Zp;p1>u?}~nN_Ji=WJ#gu#rU6q0@2u8;`G6ItgJKO ziK_y5)BrnHxK%JykF6;s=2ld)t(pZ!5-9jZ zQEQpb#lC9}tKrunr86ZR$v0|YwLEI!=$*i16F4^8sf_Gx!PuyPEjGOZ1QCpV%?+au4g&;v3(-e0ewv=n#N3zH`BB7-{(aOnVa6&uRas``pt?5@tTL(^U)~N_{mOg zluZ6DbSaVfx79`F-)PpnbL-gffhny;M(TS2M>C6Y&L`FFv>uLDhp?5u4K>1v!ASbX zSR9A2!$9MVlEB~uzLznoHK>qp)@+S`&Ky;lXy5-)+g_Yl1w}q=8k679-lJOAAV}Nq za;F4l;fTZ@L;deyAhWA+>z6)}F&i-NUXIC!JlcV(uhSDNW% zTgWqiVOE^5AOY^bod^00A6o{o$QcqFxi%UyPEoP<@JYeq~x-)ua%pDkF)!s~Zq4 zmfPjXwr)EUV|0t!FcO{{o`>VMc-M?HIEFYu@{v)qVv^usw@MeAME>0AKTRNIv@eKS z=_`iP@9;9%l*Sh?xIvUWXGpBv`QB3>@;-&b)bE@>qDw4iGzpYe-%kD$6j62Yu3DLB<@1G zk@N-V%0;I4jXGoFr|K>oH#+`Hh|FIxYaWRQ8i2LR+5>f_*WY#}>CSr4toXfI^WL(P ztGeqhtT0x0o8GOt@lm{}h&v{VeE(eJxj(o0 z1IRGbmvDEoU#7dL@0&yTH8%QX=79|N1KEDF=FNDev2mI=n*M4fN`0xSn)p!!Xtej6(9m)CJR*rsM?T9MSh<_**OW&Aldftk6? z3zQ?Z2Bh|)POa@;(|UYM8RAGa2mh7PbNBt>Jsq4}?kytFtl1N9LP~h$^c$6v57bTd z`r}bhifKI*vEHuQjd~dy$0EQRlZ`F+o>v1F6iOb5UzB*Q5)J>i7{hQk`T?_M8(iRi z6U*Y`jg2^s*-&|)?yt}?xWi0t69|9Jxi1& zuFwVhqZI>DZ+El?PdtJej1|)`I{_BSuZ@l4$~tbY_87_kgj{@KdIOR-lCuz?!Fn0& zl^CeKwz|(q?t?#qUjlwq$uzBx4%B_a>o-#W%G7FhMl*7J+(;IE3VXYZjX=ffu|%0^ z^(A*3$7Nz#JA%R4u1HMH%9V68Wv`8PBLoyhOwkWKb0@XY1QI{Lv!RQ-(9 z9tJs0$4{RWO-~L*FB0Boq*j4Ilil&s&ZOYb+8Rl>d9s@kL#4+yBb|UatBvG%v<=#6 zez>~VNd64%L9d4NSE4lsjpQ7-jg63nrh_ceS&Y;*z#iJqtl4iQs>S!RY9^F?z({@v zN!49=^EF2D`>=rmf}X)Ci@NHnfAK>hjpy-;4Y17kLI6{6#>W{O6W@cSuKHkG+{{b{ zit5pXxQ6>dLXC~z^cov4L-K8#wk!t3mRJy;NyT@uHcYVXM_ZyUe^f{O?{WP9ZcB^H z-;Td3Qge#2;w{im$1SATen zyC$jg(M}v>1454IQ9_KScc;)JNl_BaW7l=aDKpcQyNaH$$7{h&`uyx|Y|FFl^BBg) zB4cBp-DTKcP5}B7uhe$Dcb>8GGq9T(MH(A-oAW1jncn_G1E9+-wpFU0c4OswmaVzJSQ8U8^35)I1(PzYEA1 z1B&Y=V;^NR_UkgmRwU8uMUYH%N`Krys0;8?Hu_B~*!eFTtXn+|7k$M@d=~9N`hx$d z>aO|f>2pEt0HYgzt-9Yx7NcL`;f&sT4{CNOl0M(G8bApLvnyDZE;D@+czQH_DZ0Ge zJYuAtK#9@iF%%@FL}-uf*AZ9v+Lp6j^q9l|es@039)jF{ zD=o*)lKs;Aq>X(3_zU5WMkaeTmtA%lg)N1{oVMJg`L!OXM@2akU#a?$xl z@@|w_af%k;>svWi0YSt_-NqV$^OI#4>f)$1F)Ca#OLp$C>ueZE0Vdj!qG#~-bbV9D zuF&WI13^wK0?4Xw%3g~~gFMiM4rRZFAB0H^Y)JHl=otk-%9R|HGS$xMtdFSy%8y7$ z=TNpBKO9p+IMX=^_Mtp$#a4+r**myRd`9MqG2 z1bztrd5&O-zG8_~#7LX82Wye&6VMM8Xz+)KF!*cyWH~63UpTC?q2gs>l~M0U(j@51 zwFjj~3~gxA(A7YP-M1A5aNJvpZ1Q{b7Z~pIC@$C$X{!@=LP&UHBWxtD>i&2QF-V>! z{WNtInnVP{p>Y^Q=#g==UqLWJGGU_VbhH(wm{WyY8Oa04m#WTyJpzy~nwfLaDIldt z3CI}-Q>L{ud&xVfXXYkvBI~sp)VQA>o$Wt>Bv@vUznh(wXU}A%f~r!IRCWw1o|j#I zR@qlr9IHQjH3${)j(^87pfJGsf%!9ARiV`~a`d`1nx2PFf2x_jsWgf?XGK317*N0T zi27v=ct%}%S|uL5gMuT9hvcE;0JZuRe~wy@;NrJSGZ+6Uln@P>VhpF<@kwbT^+5Y6 z(fMzL??-e`r02EKkw;&?JazGbw#usARR_#OuaeuN>FMQAZFby?(duuVOV34Vedg7l;Pd8J$Z<};r zv^Re0&sc)6{DKeFJYx0T@)_&0Im&bL>LVRxWXw!GpfyprF{rMy zu56N#Tmw4c_Ip16_)s+65J*oe#f&(b{u-$8o%Bt9EHFZ3ff{FPqyqY{UtyB}2s=#A zz^DlBM62kJRJ<9f*`a`(V2my7`6JszaX(jEB1q}_m~w=o2diKD+gOaw~5!i4c2e1cO#EJm)ae_An}S9 zSzC{oj}A1XO5&G9#zG!>4P%lgJ~?%$?U6_#>rd^D{9I@gBH;a(z}EIaB(c|z@Fo}2 z`E~qU;63I${gKbvDYR{gdIzDQN70`|xwnBGjK*7UxEqS9O;lm;g{F5~;(3&Oo6)%q zf|rHkWgL}okql5N3w#{!l^~vOfEs;fAmV)px8PpVka{&@M0PMu)F0D>y>^-r?~ZWd z#Y-X;JHFwEJ~Ct`UV)-&CX^P}m!h-A^5za6^XJ{@_xP4`UQ)3~5Pv<&(oh49?VgBH zyCdq|1G&~%=>;@Wv&~p}kS(0(W)08?1GuoK7#I8WO23!k)r4#jwcfx5m|$j5Q=n+0 z(0=igp}iA5ICzc@2wT{CB9ggyTtf=8@xQP@Nc|1coOM=DMfkIY5!e0=;dK@OWL% z$k>^l#QT?U0unzT`Y_ZvUW58dJukL;OzXV}G!2hF2jo5aQbX#3wuj7jc1J$v#AX3p&6vKT^%@CPc8Pb$x(uZbQ>(ADS;Ni&_gkz4d<5bJRNk(KR@XTtXgm z6J$(&hHmxj2@s`n^KIzvgyOQ5kf129Cbotm=q=erkpAF~BwpoBx1sE>5UuKgs@>UD z6vdQ|OR&WJb05ybftf%P_a-!Pfjr$ZYSghji2JO&5FF!F#Cjoql8~2rya-l}c1-4| zdM@UA6vT2AK)d{yb}bClCtrvMI)3pibB)ic>-_!zEb01*={AgP&)_;9NhV!CDZMNx zfJr)CG$GXc#d7;i+hkxXz|MsMFa)6#M_Xr?XBQJyaGU90>_@7^_-8woS9{t{5P?(@ z+L>V1-occ(4KKUxRwvqf1qxQUd3AxQ9 zA4V&(=mqf!TtKNew(Jz?TJk|s(ARch5&PUUCnVW>R$c@g#?MNI19%oYMRA{vAs4=?JGdT{HWs<@d4%C%R3>qn- zyT0nxY=fX3k_?N?m@IbG!lsaCs&*HO&v0Nl#+L0O;UJvUkJU<^gT%5|Ns6F^$F_WW3*Or@H`TXxq7R4@DA3Q#&_CbMR0Fzy2*Z9|@*1}YK?8RQfnlif9RxvFff>`&QjDqy&*rS65_-1(%#TG zT1_j4g&PTMrZ-5`%oTuOQBxFv@MDd0E@tAc1=tq&feNJRMMl<;!ovtsp!jE_nIEU>f}Etbp7bmgH&e_i@V>)}Scbz5^^il8O5m%5&RT;D{*@M@Y<_2iTz$Dhk$??&v^( zbw$=zBSodI^?20U-z&l4@_@3^8CD>gzN#GxuJTC5V`fE6Dr&I`(EigD6As z8%@s-B2n~5g}aJ@1Gh87BD7&SDr+Raz)po$Ol8q#(X>F(U_p42Y{T~n@upL3{HXOT zCVlBf2y|-CfQ=+GlUmElX4)ZZZ%5kIHX`+^ukM2N91}b{>(}7_yXblKYw3o$PE6@@ z_3JfEq+6s#{gi3_!#Wzhsr4`zK$C2KZ-cHTzq>Isx|_ru+TB!%fmD=0<)YJ6p!9w0 z8GKMebvy~4>v(p-(o$EbAMIgGH{^Xpf$B&Y)ll$0UGVtnXjJjcY*>OYB4h4M(W+Ek zx()46?27@kV|g_F^Wz(Osnz3f^^SOu3~S35hr*52^O8&m+1^RAF>CH*SAl?{=nAEw+pGz< z8<|Q{l%gOcgi>Kl@6Y}W{^b8cNDbBiM#CYrq_84wkiAXBwUB2^5Gg2-fdmj=YNTu5 zP_Zvs)7&04rr_tIAF>F`{sDecL{($c+ZU}Fh!|71n>BqmqA$qkV5TQvSt?w8%Zccd zoKM)}B~l@qFjo9h2uD%9=21fn9L2pR2-{HcQpc^|MLPW`s*xt9U6BhO_ zPA+_2LYPne8gycB_C&B9M;~t!ZDzw#phlB6t%|fs!X#x8a6TJ}B0s=5&i+*o+b zY&B=ewn;%;bf77&YBwGS-GaeqYmRd&UJB;P6$^zgp>c)8mylbRi=HkxgeYPUwGoU@$f#9O7;Q#NDlJD`&1?mHUbaA zdLVBXy0=QR5zPn4_7c4u+{x-B8E4e71wr>)Elx&qd&_E#bAb--wC{a(M_{2&b5C-d z6sFMYGNjOjT5xtSa%o9SV1*q0*Vt9I`M;!>{X8(LO0nzEU2DDG)!xls-_8>6w~Ktg znc#W2XnRo)9&7Z0y*@PhI#~bB@7p@T`;p)GlL?;9pKAKI37!Kd{0ZO(#`<9Y*0@sG z|K-Fbu>W?v5BA?0gr@`3V1F?{`{okDzr*(**G}-gF~Rf02?T7PK+i`e`1VckJSX;- z1^%BWAs`4j_u2YBz2AbfymFUZi9PO|0R!gD8WOlpX3z87l(xsi9ruy1K-QS$56g&%4g$1CjrtveYnDgKfU*p(3m>R&EjCiWMvMl`^|6Xo zp1IT;PPbKtt%kZNvdf&iGn~fUx@Kp5LO6XZwn5!;p^N_Wt{j&uRg=s;e=_9?KmUzQ zL}&yBe{>)Mjm%}K;-2`X%;X|7bGcV3P%!?~^jcfnJ`=WXtsA_Xd_@t=Jq}+pt%n<| zekvG5$2>rlZ9}T~jkcX(Yi3<`p-ov@oRA$*RAX=l6iE^qp!wLAgGq;^Y!2UUHhdFQ z$$j2#lzsOo-{Ye^Z*j|+(*H&*nRj5a%RNr114fb?bfTFXT5&Ykl%v5pewTXENUj#| zub0ZI?ak19f87ril;4783fuK&>OGg-E1SWdS&PzG8%+9Ds^X^WA&l3WYR#^;5u-?~ zvo?lxH>5!P=;l_IV=6z0S?P|!qQMgE==DcxKD1RbQ0ZwN62XSviQq_) z+k2Uwz9KZ<8 zX5NdaXy<(}(9ru~EU;?dGE$uJtKubZWZQ`nLJtQhqc_`3D7V%wmm=&yCCgPMm#GS} z)~spiVAQUUt}ppR)KX7wVPok*NB%+C+9S8`WYr?pln!0rur;OAOuUMf^bg>{szx%m zv8wRUb!F)Q+$1$;ZNnY69b_6(U6`u6;m#>iUqqA&!;~7sM3v{}s;r*X!rpCnF}>L) zgivw`RWceI*;zS0f^s-fvS%Z-k^>@8P5IrMl(UgD@p6t@f&$fmz(iO2x>@nCssee* z5Vj}tu^D9nl^E8yz^b8y?S~rOtQm}0ziX==yxh+3)^g~{vANgY9WP@=21?HyJszl|ZO zAiBA(qjyj;X-J<{7P0V8 zy2S@w5{GL1gpFxFPAGVfr!}@R38j+EF2!5vZA+~+uy&JY4`SqOuMlY=f4hC(I^fYIEU7!=p@>Uio7*MeNnqu| zzSFZoUAuB@9t}c;dTxc9t3E4g$i=Yz82#$!4o%|_LB&B?zu`i5#m-30+s4X&M*AZQ z*5j}~^fvbDnKi$;=~LYHxFQNKY%7COix91|c zOz|mEZsEp`TD&k|iwv@2!FMMGk?cbl-O;top64K{O?)MqA@_Jr`KA|wnD7vRwIfpV zRQz;%euL0zG}evrRNKC2dLh)+FT_z2wNenpcBBUHM_3&J2!|hV>-`!*vDWb$sqa&< zbo+K9KG%bwc!DGfei%+;6$R&AaPZ_dln;CP!K~1u;huuo1qK3@Il_WDO{qq(a)PUM z*h=k-K#OT6`gfC+h-24s|EStp7gM&&wS0ttSAs29pL8ulnhDxQg2?_tS{djz(UK)ywdsa}Cs_c2Ir zO!a`@sp4_4hn2MK8(1G`tw1os&Gl}Z{~_gu6()i50W`3jR%vU}RQgtoEuRaojeknMwlMoS#g%*Fe& zKZINLOxL0+hxM`iIb*P5@C$>N%c){afJ@yEyQ(4H#`xfC4V-QDN?K%-XGAUR%Xlh& z84&B{rGr?LQ=xc2uAiG8u6>e(7xlgw#T#MKn)l3CR(4a#~HhZQfLx_5p0{N zcpz%^PRkVcq1hwYd68U7E{Pp4+-!i&GGPnht(oO=P!1S0lDDCTs(;~y;mD}3xs;k} zn^!o?E7Me>M^z2eV}=(;q~1B7t!*j_@W|x? z`t;T|(`f62;N0j$EiiEIA`*uUoRDub|3$5g=o1uvvv;Y<1l1n!$neP9&sbP|%fVkw zYn2ROI4T+-45yngwm!kLi$TT!uPjH2os*?JZkm~14X~-lQ~1Rgl1EXixxN5EGggRj zbZ~23Cm12zi=~nn6c`ZhRx#CpL~9-?h$23`^q!FFTja7MlFq0u_S1b zw5^yHv)`^pBn)s<=He$>)+(!zzh|h|fokl~{VGXhQppp&^1xLki;MR9 z5>`ghPUUpMEF(<CMo>uE@RK^q&~fdY1HB%9DL>amv#BW7d#)8S10 zArs=vR!X*J=Hji9Q5Tm%HC+zv5@t*{d!w1+Qb@ejD0OA1`Wz$q7IMYRBL106Gvg|` z&{4HJQqiX|Q14+_l6hrh{;$nZl++%83mj**d|!8#blMkMYy3$V-~^oqzR zM>a=%^URr8B*pqEY6m50WK?lky0ZhBV-j$n#~c52y0s~EU}q3pxWKFu&!Xx(EeUX- zrzmb52z|{T|5W1H4;2h21+7OD2R}5DFMt?<3nTd?qaFN6#YfwfVW(NcHk73-0pxna z*t&{1*?SS5`UktZSUkYuR@H9ZK-00V`e^ps5{RWEZW}NUBYLA~fI$2+VdzmB=D#XC z=BVktc(0A*C{;*;!pkz_s-r-cjYoxW zOvCQI@<_V4EHfK3ZEQ>9oCin-*G3QWZspl&DOc|7^vQ|pLv8ylzkaR$aic;}Dt)(bG3+FmB>T3)KmejvtMQ4v z#x=3y_(aBH4^o(u+WaMZ7gq5Wb%i=!ng+7o8H!aV9u6q#wpyDo0z^igTb4Z}Qfr+s zinBf0DsWCUP9z>I&R(H7#h1LNOJIN>R`1%m^rir#zm`C-~kx!SmV)zJn)tI>*+sMEJ<>xj@46jv`YHi#3_=jyLN%O1o z?nkJQ%g40snMplny0{G9eD8xF6O3s)tj#&=f}FL*4h;OY!mjBAXy>zvl194@0$2yF zY!aAYiXbB-yjJ_uzRtEIxizp8w%&%pzR6|pcG>&1T{WLx(#@PK)ldybaS;jZ(E(A2 z0a^ii0cNQx*M5Rj=TP}WZwyjbF91r~qV#xKXR}#aN5VLoWT&HGgrUFyRc?rlXWAaH zH|qFudxO@U;D*vbk(6;TK^v(aS*{o6Dr2M#@5Y?R0@ncu1vKVq!0T zqM1f?*mQ+#9= znL6~()M_j46~+p1IPp<&{0dhOJrhz=;-J@9@nay)?xo;1=+~-sveyYyPZF(y*F7+$ zzS)J~y?P!ngqzHCC5B=+i9w_oH_k}jj&loU=I%0&@Vum$OrEIqGjnYZxa_6cPKM!O z)iSlsX66?hhY>623R$l00CR5;KekgN>^336t2!5onmc}g*5$0Gwz98)j-qt3fH516 zG}~c^Uo$~4TVZ0;7?^+^2KG*uy~|}^W{wMPA!s>VDo& zkloK&PP?BId6G8zxlJ1ELxc~#(FHRA6Pnd#gkuM9w($phi_5O`c5In$W@=&YvE8*- zi}=JYue@ydW^w1|hrTVPHd52rz|Q73c6zBHn~_yfot{X}N0Ly3jgAr9A+fEQe(tt# z@UQ#5yKU_DU>qCec0qLZn-y_k-P)E8HkXy6bot%h4@fi(>ZMsT*mllfBUb6q-;ZkD z4lzbvw_|^2va;TEhqQs}^O#MHE6!ebkcxv}H>V{Tm?QXfF-!$?8+fBZzU za;M;&*|a-IC$m-Zh*K&CP|FUsgm~C0;D~t5EoIeqvuQ?&J*9&_{+z<9cMmHZdIJI(J$|kpjchrxGp8ExR<&?tmF32K_pYiuyDin8#`!PN zj^Y+-2FS5)YS!^7P9ZpUPsNa%qBIwqv=hL6y*4tP#PL8hOX&0mzU(xfNINEvl1f~owX3drREq%uPpF$Ls)3;>%|$OQ`6 zqFg)-1HV=Uj4NQfGHwy0ql13)7_ert;YD*xqt{4?3_992jwaOnrV$X+DDfEO+7=4rtihZW zqnZRj3Pvi0(&SRXmBg~mAJ^VOouIk_%m4y;->3|v1 zrm4-CHk-BCqRmz@okF!W<`sy02 zmbK2CzqD;h97sJv%)I=G`EwR6z2W++;`0{XaKq9Y4wGeG9dh`sy5Q=o7R=LWsJ1(b zL|pODi7#C`Z_&b==3RBeHOr17s+7YO|I3Vj{Z&i8aV!a3e!Gw?IHAYly) z4~l5Hpy8_4!ofWS!`FltExLBeLc}^^GZu_rJ$?RFi;pUL;ry%4o4Mp#QsR-*DVTrN zxifCKYRR(2SFuAMz7~b!UmzLVi5y)`3b$dw^v^lhUB5pl8%=*z=MUpQHNpqxUAtt_ zQv6)EaDIHL!=wvz^~3OBOm3XdZ6~luhAqc?m}TVhY5sWa^{tCBmQ>EGI_3h8RAhG< z-F6mk)Lsf7>O>&jx_mbOy}-qPS+aSpk%BGg>LDYQf~h;{A7lIEv(k}raM#UkXTEm3 zd_wpiTA-1N#H^{ta6Y%4z)uMOISzB!k~sK3*7hCFfsT-mQ{f?&k4ay{IM~O`{^Qbj zRRIq8v5N39>wg#yd2GcPnf?#QZia{=BV_5OZMU5y@Co<7VFenYNJ4$?vbgQ^9HIYx zEctpQ;UF(hnUqMehLw$gA@or_jQ=i(G-9T4>@$nYr=K(LFjI!}=1o6;UcH_n91fYe zq93;%$G~w69LK?S6aSR;Cz;O)x55|C20~|WqDuj+U;0WQ4lwY?}OB@=>93k2N z-@r$z&(MN}h60Y!eWd(G!kZ00#_Wy<|084INbNZ^`_NFpF}jbGpG_wtnMa%55!9hh zGIn`v)A2Y)%m3;8j#NC&#+DBW*O7B~T#~cfwxfq-Ufrc4V^_sS(JeS;S(_`oHn%zF7Be==(K#pX{o|3ANf{F`5yDc`Sic~7may)all^J=WM zwFS>R`<%0@zIe_#ZQ?wqLIHy3R92l=RawPF*onHR-fw=@<82RkPa8MJ--V@YuC-3m ze%KQ!A7PBc&kd_nAV)vSa4`*=piROSYrCyFA*`bSY;^(Hx&pAx8s^g`)9csvlUy)v zG2rJe^Fam5D>JtV@Z;$TeoT)W0r=gj41sZ}pC7mM@MAdHA_9}ovhX8}XNvgQdLzQP zGmM`*kEDjpP+k(38+Q18Nf`pWrvR*5!(McSdrZTaA3vIVHS7$5DA)%YW|uF>u-YL6 z6&@c*6ipo;y#9pofx7Yj@K_b^Tph-a$Mj9@aM!D;0IXHRWcLsA!+){>%--i1gg-xq zyGMr$5`d4e?gFsK3c$D_kYAHBB<=?q=5EJ;CKCHP4dzj%VLG_Pt=2GieWM!YZpUT~ z(;Zvl#tXnYHO$@KcNc)IF96%FVQw1OqhTyRKbreA%uNHHV)4$S(TN3MthPZr(9Y zJ2aZ49>D@I-d)Pi&D+cZ;hGA-S_{CE1z>9m!0ssk>((%LSsp78Zf^nD2L)gOP0%(D z*v@4dHlO?g?L4a3i-tDGvQ0zUZzk;g2%Di{e<=_JYtb;BrG&es0IaJ3><0y4n+m{o z6@U#Cfbk(Ue(tjP#|(!}Dgdi20IMqiixq$^)-Zc)B5pf0EXeFl^4sa-IX)7PcNYl1 z{xIQp6$n3YnD8GI2p`aca}fEv%fqssrTt{fmz1?x%1S>|`?WdoidyK&dMwa>B?-CWnhRV@N#Wr$xg|*x83}Ll3gY)1>yBNI!h6(;5xC znSflKri05ijxW7zd>}mDPds)Pi2Im^T{A51^6{l;H$?RW;rD?KCvusL^*~us41+yF zpm0n-h|_oc++{mg!w#1|>(Hdb9j*?4 z3y-f{F*-cHIx%MI_z<|y`0BdxmErN_lg9@U5-}zV9abWGzfS96*qPQU(!z>Sz<8o~ z>iEi{g(r*;0)pBi4qh2yoMOl|{A`&=(@$i4aLx(iOKSxk=GZz1cWlr9kG*q&kE2Y5fBjs0Z|bZ6crT|5$}p1|7YgRob&9={LY@Uy8-;X|NTIdeD|4Wo_Xe(%b7E0 zPP+?|42>nDR{5OCjHFp@Ll2m9X#Rz&`K!N_se0+t*Fs&G+n^q0+g& zJ4t=_vQGCnrBgmyr@qs+i}GxAuxk`MNa&!Ckh{}h!oLqGcCHW-_ESY`|2}Vi*F)be z@O+q%8*0nv?K>Jw=s!R)mwtLPj{La3TVZ~u@)kPj(B<-U?7J&MzPmHzyC>9leq4@t zWfl3oWPUdq_-Knso-LmfKZO4Z^c~feNVkvr&ZTn(_)fNe_1#>dQ}!>^o+z-XhoSJH z3kt%A(EoaFavJ>}^x^YGA5Iq^MQVeTn7X8e6u+|mm0ne?iFTo9Gx~=<;#}`QhZ+ZF zG;AUzb5y_9$$ppR8^5iW_E7P|7}qAN?^^xu1NoNzdO_mZ;zXqtFQ`;ERU`P&B157ceVn<$Flbzx!*5xO5zy7#8v6KOGzI9d8v zeD{3FchaFG<4U)OCTj+7{^&`Uj!RA$ztyC6 z8Uu_TpL$QP><_5?@i8H}4b5f!;h@~FBKlpwk4RTACiankzDW*xkjBJE zX;Azwjf#)a5cfC*%cL0_Ha~Z>jT0^!e{u4X2GQP*Q{(;z>38W93Z-)!bbDLpHxJ$3 z_E8rXy1fZ^w=2fiMHVS`1${3*!ha8_yxySSUH)&l!gv2%Bdle+9vqa-hDuvapRkLXr2n1t$o}w2sx}%kM7_1B@634HgTA{{<@s*d2YiggL)UVlGVRECgW=g_gyq2rnm9h)3Fo^a@RK14@i zCt+Mrc46C&it(}>pqOmpax7mY(IGSD|Od&SU_6v^~Nf-HOR)vZ+iLiR+n- z;u_@K@ic~Qn2;>cARsP7=t~;UXH((kP`X!C{vTrgxLBmUC^>i1})j zNh=!uwv`+aXR>P`^3n{_)2_yQ@hWs(AIb)jRyNF=^hz?hAK7sLG2ayFXVGuJU+MS* z{jPQJakGKum1@|WWA@u(jM=2pAFj(H#~9UbFKzgSm)g6|6!I@A`Lngnf&9El!^!Dt zl%@ppCe9#vJvUjeizZz&PR>`aQ0YEE zX{B!hTjxxgk>^E|G26GR%qDT6_aiZxey&q&zF@LFbx)d1N%cCrkhx09q+>fbuj59J@6W4w&I6Rp@Z|zpj5x-(I<2G3isHbh{1gnJ3!(FZ={^CJNtPq2%Xic_W5s zz!I0BqEbkcykM6x^n^-xUPwABe2|XT*hDOBq2?2Zv2<1}ETAdD`Nn8Y^DJTSe3kwd z?GMA=MU$2`oX+!Aem_g4ds3$h{37bT1BPKqtP;X0A0DuWp25q zJuq2(n@F6j`s)o13npFDkX%SB8*0VbTl>CzvJ^|?%H_JaoS4&ZQgVMIztA<>isbKU zoT2PwjH&NFExrrvK5Ejvie%c z^nF6;qdZ6-t=iJ{A^m@xl9$)Vfxl^PvSEA!HClf-^n=7p_g7Ic`n*d2%eE1urDnci z{E|u6Bpbe6URk2Nhp2hL2AwV_^E|5FU>v2o5;1j>lIL?~E2frAx;@$OJtL@Q$~K_q zCb#PR3_H7ookoW!^8JCz_gR+Co$u$YeCJS_+o#e$^m$sW%TS(bemuW?e!N^%^Q!#Q5ZgDTd4D$g+;byzLsLKdSjU z%^x>xHgD3s6Oz|#Y1<>?OW5<0($z;XZ`ea~e?DiQM$uMg53NdgYb}kt(=YUab9P$q zRXx&7J)5H5i6X*_yH1iHj+nc*A-MykF7vI7 z7tx+KDjmNAd3RFxv$QO4Z>)GgrQ1*Y#%L$=Caq|=jTcq**{@ZZu4PZ@qC}kh4yPmo zD&1CLKB8VfSukBRSJutvRr)ocoQtWPf9K_-s1tsDzRGlasJTYm{JK@TxUsiUrHd1L zqI?gibaCV6HI*(-J&OEV-bMe=CvLidD$hpQ_$gMKM8E9c?U()X=PAj(D*X;ydFie7o1iRWTK-pOS>{emw$bF$QObD}>Gos$ zT& z?tIY4!L{Z!N8EqA(;ZWDCMKu2y+*OoNUBc~6I1&9 zL;PcndyNgB;cb`FtRt~YRhk#d{S)j33F>nZ#pbo-A3NITPo(WN?X>J{_-(<&6~vEn z@Wf=wd+S5#ANs5j|HyVsx1SqmvxAt~(;}_#`Q`hFFR4xId83T)+1qS3=aS^bw3|9D*K!_J>F9hsf9?_*t1FT_yWPG}>f2*q&yLx)zQ9+( z+9j<^iix}hv_28QCHHRVhle=>D*h_3AJNu3|}(oiDbhQ#?*PH zyvMylbOiJ{Qy4_s){-OR<@_Kqt+;-$l*vWaOu z#bQE&X`@2}`PI3B_0uvZEMC}EYV9qpAI{NiC`(6V ztxfj=WiAn}&O2L9pUpCTbf`F->&^G)#o=d#0v(}N8X3)H)?^1pb7?vSB9&=MEm@jg zHnV%lvaZbHCEb~sixw?8Ha#aDl%?J(vAO0^ZEbxys+hw1^crMMSc;K?s6tW6scG%5 zO7se5o%7bRc2%|{vh;&NR(U095jEvO5~Q#XhpL!KNRqIe%1#xkn2B3DOn>>QDHSsS z;&u-3%sD>`nMO3Nh@w2q%rxakzNOk%=1Q}&y{lJ_&^dv9%VpzWAy-4{=ti{D8IZ>m zvnz8v*u!(Slkn^eH?@dU>w+`3<}~qqBFpj&EaS>^XwMfH(TR825uQ=(G%+%4%MK3@ ztY6TbUbawlY%R-kz0I9{bP$c#e>+0Q@JR&)F-%FN=JDf6ioKnTg1~+m$Ks5|c!3;QK^%8TTRMl<A=-E1&ZN)qtX?TXN*tX8?tK8(nlJM-pn|{YIosuk1 z4b@c~^yuYNGnd)Eo5R#tEz_mRJUB2y`HjO;S&E9qH*<^L0ai{KJ9FHfp-3~0z#3v3 z!o)FZy;o2Z+blgq#+?zH6}cYvs?Ke^=dNO)w#|$>v{q$qZKI*X*hmViF*Vlk6(b5_>8-}_N<&8sTPvxm#XK~C zRAC-cRgHP>u_T63ZUxnt;uue2*x^Xcjc^St__*@QgHoil+yH;2Uf(!rrnha-n+irt znN_)LpX+@%3u$F>%`$omPcyw#hThIY*Q)Z>Io+A=#!PzYLbiT9hT3Z^#Nw_}TPD-H zZe1#sQttwyV$dswsKhN9|Aj(hSI#;b;B-a2cPF(KbGg;D>X7a#we-`^&QvOs8SE*R zvZY+6L^Rc$=`0lK4M@46!9rioxJBgG^H}Fb+vmpxTjekJApoI=v&m?w)N$UG)9%(=qs<8w~JwKJJ+Q;=!SoWjwz)b zJbmIPA)ERZE40$94liD!&>U(n48MGe;JvDg6f>VX7cA6?^(j+m7ItxBzs^xEb{6{k z(*v}w*(BFByJ-2dFF!Jt>zq+D1WTN;OW8pix^pA_1N2CRYehcZO07d#9V((@xQF(h z_tOjR(|PmSDt>uwWwwcWSnX0vre`;uX^idb%=J$ ze%HP4pzm;)6eU5VTpU(L%nqiElrQcEB4%GnK_n~8h8!_(cd|%1`mr1_D?>g~9#$KV zm={QA<>`&n)+3YN&BL-Ca-ouu^`dUuwjiu06Vl~RB8D355)HA~5DzoiB^sjHeg-tu zZX_NrhcNpcIaKm{*(0W*<~t-qEH9T1Guk0(=`}jlj`X_T+;Ayh7;;!#LDte8w1jqV zt59~J$v-gH`@x}4{gRW9pB!*_C51!bUrXTk4&KRg#5XV@yrY>8^rqmzL-vKGoPeP#B_HrGvu* zor}8~GpUXo9qBM4@14>=r{sD|g%SEDBZeirM@`eGZ6sG(C60jrrx1*Nt}AUoXf_dH>0LQGaSQ84$ar}ZoTU_R_67p z+VZ*Gn^CvnIgVlFhG#t1wHq&Y>%0)-?2qQPBl%LUyD(fBD6CwcUe;BhgMrEh6zl06 z+UT8Y@1}odWsA9#Q-SFN+luld7+R$jBKJy}<8;yTbX>c~%e;buh*lW49E}SEBjB3oF@Zi7Z+SD`;wP_Yfe0FN<)TH{K@msy9LmDo%)Ua}NO}8y zi<7A+OiV3bN)Q?kH z&np=xe00ss7y)8gTC@7H0?C=C=|oo+;f#1%=gF$sT>GgNb3t28lOUo;zo75WN6Q`WUQTTWzE(JV8&`3h$~RO!PgTC1}++9Rn| znjJ%VH0y)P3u~Eif*?#!G@BgbSD4bu#>G?^%}RfCug$hdYNA;b)Ma=NQQ2WpHAS<_ z;r^OCo%lMV+3HtE%@#)0WZC7d%jxyS>hJ6GO_60)J{B3&sT4ur(HbIqKBx}%Bh{AW z&Oy!*Z!!AfGV{kkf7NBEwWDyjC0wOtX?4Mf@1WN`ZlY#Yr;=GWvg=-;3OQKih#Id^ zrc_lmgeZ!uwi?a%BVB*lN2p+R(Jb^w4XmiL4(=RiO<+#oZR}|B#Xn_*f z#28v*+FPOR#WggFI?F7?v*@soZn|&-#fX zHx5VIXqH-+9WCNOhFPuh@Gh$xb=GG^711p5$ME7@SF6-4bX_jL zWZ_NC?#r*BkF0Qo9C<<=O%I<|J7;u(VbRtYBHI^BT}3m^%U6HeTzU9~NnL^F^byn$ zt?td_sm6TpHY96%zHyBxU+h##L)9fQO{ua#O~WI(`Yt6@&{%zeD=3cUfVhn&;woBI zYU5g5q2GvYY7~8zjb4A=;XnA|SdMXvxGLT)3G#G2dJ^_lut^0_)W&IMv3jrLZ}SnL!=90#kLJdI6`}v2@8;wtb^8W7zCL zPH`Or{h|nfO>$Ao9Vr^=*bxv#nDtf+2paYBDUlF|Ey58P~T)<7BOBm965SnlMF7@4@(JY81ECGCc*_ ztE3JSp%azTOX=v7KqtK_tt(|dYKX4jV`;>zP4+cxEX9@s>U1oL-5^`#Q8M=K4&s8IxoM>!oI3&9< ztlW@X$GTo)WG!Cbm>&@5nm1==?Rt-dY3K?I~@<~fHt=vjZq%1h!~@+%rJ1iHQe8!L9Pow6~VAl-cSuq9iga|l~{#v z-dXnTFmJ?GzO4%im+M>*@4u18aV ztY|FKvvu?$)8P^wE9-J}5ZvkX?50k7wR<|f6m_B1Yr{QIs(PhXp({jns)^oQI+KB+?GOz(02CX!(16VPCo_cPceX>h;X{cUtXA6)iuZZR5>4)m&UMImJ6M| zFE-mBS1Jce1SPdvV-5+m7-i~mRZL80nJQ~8ZlzJ6rt()(UJr*<%A;lvRp>!#a!>`` z_3%%HETXx`F|F>!|-1^NYc|(*{UE~m*5ld_?$<$#EYu})))Ky0>e{6HBbwh>TGeY%SrdCi{ zgA*!fwtV1P_SZLP1{ZbGEjzg^EpBBsW#~SgxB*vI;%XGcvcd>MVG`ZQ4Q?dHv?-dp zcovp9y=DWWXp3xLGnrFUJ%%Z;tZ>d`gS#Z~ycQ#-s#g=&qEzduZ1I?(ytt9(O=RNU z_;D$SYX$TRk8_Iqi0{;i;Bc2>%j&Mu^fl_GlisysupuCo@@_qfEpmhS2BtW#v#X6d z4aZ}1b=Pj$?+l~X?$P0aT<4;EbGk3xOec*-yVd7R7P+5xrnc;Lb)^GEWvY1h6D@9g z6{qwaM}1#+W3)awsv=jJYB9_zrL$HX(_v9J@s2697dQU zlBy|BNaDx^3DFU)1VL=nwxknHPvmk%Qx~_0#&ut9TOcbctD>+Kbw(?(Vcu7rD5xv_>qqF+IhV zQpHdK9T>gDkqq5&kt5Ik|8nsw`+ceUVEXPi@4aTaB%jaz|Gd zz0lEhMk_IEgEbU2ik8S_jH1jcT$T4n9k)em(gf^Ep~u_Jvr(#eLLR7axm#^Oj%kcl zCViw+#D{3b%_{2#MwL2TrK(buRV=gOn_5PPhjSxz4BF^WU#6d)l+W~2QSw78=_#jD zTP7pl;HIAhR^Px^W~RGJt-az^TJ#dlbUH6iLRj22E0bzmlN}hPGX>}ynkCcC#X|pP7(4pP-J?t#at(ChUiJB>1?5+GJU!1z(Ao_Jo|3mTZ@s-%F}d5 zs=2s2Kb*-H=^&$gadqe7j!b6d(5MU@il8C!{P}=?%uy$uMpR8`(Z&=WT-}+jdE!4A zP8Fi*?Oj)HIwODdsZ6 z)P9MiWDH(L&o>-?gJ7Ui@@s%KJ(7eYwPP2+x z7}9~qOgJY*s;puK8~A$E$ksw5n>au(lOHPPMoKg+7zgPM(kXgnix^evuxwG2u%Js! zbx^0B%hH@lp0ScCigRXMT}|5Ce3_wLF3Y+~9W+qqdo%e0y=+_@ce0cW6yx+j&M^GV z$j~aK*;uC!uBL*GxQgW+AVWK)@qiw5cXX6)yPOVo6!WL4$>0DXS$~~{VrK4Osed55 zvPjIV!MBM`*jMph0-b7-ok6B&w7)-x`UDEITD4+()oEYN!=w0QAa55a-6b6@WmXji z`f?%$C|v2YMhO=jaTm{NV5a>_TV;m3Cf+J*9Q88>L7^@zDlH9A(~zCmo7YOJG|XLxZy(25wd#%6 z#`F=6C8_qo?CM;mFp?R`jndkWSanFdPphp}rOT7`F}6k@w8~{KxdjEU+BaorYn=6L zZ9MzqWmLPr;^k*~(Rp*bnI6#STy#o{em3tEW4ahMk*jo3(?+v2xZ@rBX(*U9vei&S zu((1C9wVjEVdXzDZ_H#zMzZS(=*7S8F8>ug;{Jqpk7+PB*h80-Vp?Bz^j=pc_Ej%k zjV{X5!&Q z)>-=Gy}}APg(b7{5bd@}EraGpMhYVplsn~}S{<*<3HQEG?M~#>U%t1XvT94-snuBE zuB_Hh!1NlsyMnj7Kre@;z?xI7Ge`2JRfD-wzBe6OjYbB}ge)I_2`1i}CM;hK`j}Nl zAzElPKiA$(|I7+&h!s{mt@6)$MNwg9U?!@dKNz^7`&>DcC##T$zkw-M7GPk5p8_(ip=tx{CKl?0!cv-sBSI8BgZ5S)_a5c;Zb$v128n(h-EbZvO zE6?!il0y{BW4(CSS(GXYQ>RR=^66o|jm-|kLVaeq^7|TK#CVlnt7^+u$IK}#ipq!T zDtsPOc@%qNRijyeDvD5hepadCR%_7fSF*oG%{5zUj~ey1801j9<>v5Hcf*|-)NZ$9 z46D28D36-04;cjOU5H9qS!IdYR~pwJmCUb$_9zy|>bgQ@W7g@u+T@AKryG^!jRuDj7#EurS1+t3 zPv_!7h_~a1Y(&!|Ef84d%U8OVUtK$mH~duoCRorPxHAhGETWcFtU1_|l~}3G8AGhZ zjxighAL}d3ZvP&Fb%hygxNx*dv6(J*vBo}A-Rsuzno##Mj-D{)RhFae)T@TdJHWB8 zoVfYLt(VGIUb?xWhUf*()8;Kc=1|&k(7Rft z&#j`}1lhq{V%o})0_{Qw`;4P6$0z>uhD#=yI9q&eeUga{fS&{ShX6kp@bdsaAMg(Y zegWVY0=^OOivYhE@Jj&yAHXjI{BpoQ3i!tXzXI@20)8dnR{{Phz&{Q6)qr0E_-6pW z7VyskejVV~1O7R{Zvgy8z;6QlX25R&{PTc+0q|P^zYXyJ1^kPE-vRiYfPV?_F9ZG+ z!0!V5tAO7P_}2j61o+nhzX$Mp0lyFM`vLzZ;12-)Ex;cH{M&#(1o*>%e+TeK0Dlzl z?*jf9;Ex0T1mNET{7JyS5BLuN{~_Q%0{m&fe**YV0e=SYX952i;6Dfa7l8i~@LvJ` zJm9|u{5OFA7VsAUe-ZHC0secyUjqCOfWHj*9|3;_@IL|mXTbjg_+J748{mHj{2ze- z6Yy67|2N>T0scDR{{j3Bz!MGD|QF2YdqHn*qK#;9CH`CE!~DJ`wP( z0pAAjNq}z)_;!H51Muwu-vRI)0e>gpI|05k;JX06E8x2UzB}N10KO;Sdjb9~z$XJf z1@NhW?+y4qfbR?Vet_=}_yK?)2>8K(9|HKHfKLPbFu)rDZvwm-@K(U51KtjJ2jK4k z{BXdJ1pK{#&jfrH;Bx>^13nM%`G79~d?DaR0lpaUrGOs|co*Q^fG-F9Sip}5`~<*H z0{mpaGk~uEya(`Jz;l521HKCIJm9MV9{_v^@B-kc0zLwG3Gh+C*8;u{@Y4W49q=;% zKNIk?06!b>4+6dc@DBlgF5u?@em>wA0Dd9h8v(xv@Jj%{6!6Oc{|Mk81^i=xUjg_h z0KXFOs{sEr;8z3w8Njav{5rs|2mA)WZv^}%z;ChmmUJD_z}C+nQx_WR0DnR8CzRZK z)lcywnfSb=-{W5Z{5HUE2mFhG-vRiS0RJ-JcLDxYz`q9gCcy6j{2PGZ2l)MfKLGf* z0RJ}N4*~uiz#jqpyMR9i_!EGC5Ag2;{sX|D0{lmS{}}L}0R9Z%&jS8)z@G#Bmw^8Y z@LvP|8^B)x{6)Zj5BN)fzYO>v0sj-=e+K-ofd38fe*peZz+VOY-+;dk_+$?r6uq6^IHMFHQ?I-J_+z`0e=VJ+XKD> z;O_){C%|_Bd{@AC2Ye5}_XK<|z$XJf1@OHA-v{u00pB0+0{}k=@Ph$A6!2+)Hv*ml zyczHoz^4P=26zYH?*{xmfFA+)k$}$td?w(t0G|VR8t}P*&j-8{@P&Xc0(>#xO8`F_ z@MVB^0p1PxF@P@z{8+$`1N;QQPXzoVz~2XW2JjVt_W<4tcpu>XfUg8R5BMp74*)(0 z_z>X3fS(HZ2;e2aM*&|0_&UJX1AZFdrvrWl;AaB<0l?1&{DXjR0Q^IMp9}bTfS(We z1%O`&_(s4l2K*AhF9rNEz&`@`<$!+_@Q(w21>m0m{F8uR1^A}`|1{uN1O6GnuLb1AG(U z_W=G4!0!e8e!#y8_yd4H2>7=Fe+cmJ0R9Nzj{^P};Ex0T1mI5s{(ZoI0QggY{|NA> z0sjf$KLz|5z@G*DXMjHk_%8te72wYU{u{u53;2tG{|@k%0RIEve+2v$!2bmJUjY9r z;C~1FAAtW0@K*ufg@y@1aEd?w(t0iOeS8t{35 z&j-8{@P&Xc0{kezmjJ#L@S_3m0=ygW<$xax`0;?B0QgCOpA2{g@D+gf0Nx9D4)A`! zR{@>}d^O+$fDZy*0DKtmQvojmUIKg+@U?)i1AIN;rvv_ez|R2u1Aw0e_y+;s0Qfn8 zp9}bTfS(We1%O`&_(s4l2K*AhF9rNEz&`@`<$!+-@Q(w21>m0q{7S&D0{qi}Uk&&* zfL{yvX92$s@XrB$1K>9Tely^=0RDNvZw34|z;6fqi-6w&_?>`%8St+Feiz_(1O7F@ zHvxVR;NJlJUcm1M{F{J30QiG|e;e?J0RIl)j{yEC;Ew_RIN(nJ{v_bv2mA+sKLz-Y z0Dl_rp8)<-z@Gv9XMq14@LvG_OTd2x_^$!~4dA~8{6)Zj2l(#+{{!GJ1O7+A{{;A- z0skxDe*^sQfd3Qle*yj~;I9GxI^h2SJTbvvlwrTn{v5!QfR6`!Gr%_od`rM50=_li zlK|fq@OJ>dJ>WY4{!YMm0(=+1cLjWR!1n-rFTmdg_!PjW0=~D!kCXeX0{$=d1Yk0; zuO%s0iOo=VSuLqZvwm-@K(U51KtLB2jK4p{5^ml0r-)C zzZdYCfX@PaHsEQ%=UQAmsojtW_?fB)6i@7qOPn+Aa21yfla zG2lx8UkdoqfG-2Q3-E5hj{$r+;Ku@fJm4n)eiGm(1D*kV1>ik^_X3^+ydUsYfad{U z4fp`yLx2|mKNav1z)OIS0=^dTb%37+`00S30r;7Kp9T2YfNuc&9Kg>7{5-%v4EP0r zZv^}zz%K#(Qot_*{3C#W6!4D$eg)v40Q^e8uLAtjfL{&xX8^wz@aq7-9`G9gzY*}8 z0lx+CF93ck;I{+*zkuHX_?>`%8SuLRzZ>vPfZqf7y@1~j_yd4H2>3&Qe+TeK0e=ke zCjfsE@E-vF6yQ$-{u98T0sLoxKL_|P0e>Fw-vIss;J*X>CBR<>{1w3e4ESFG|2yFS z1pHONUjzJg!2bjIxXsvQyZ zR{So5?N2wR~y`W()@;oTMhnxrRUoQ_ny># zeS%qD?@8*{EdD=A&unrv;*M8ez2 z{|<{^BlYZR@$X8$yT!eoa{F8Sfbjw~S^RyHPq(7SF&P2kSA$M5v-U#?^ zi+9ML{5=-`pyY>J{87nGZzdAIm;7i;e&Xf=EwlJxl6P5rvEcH+#=SA|(z8NZe-0_ep+-#jlh6YZm{B>4uJ0n_&WjL3Gkf(H%E6*ESa$TRq;(Su^Z51_qU$>9zcFi!1n_DU4Typ zdChYOrxIJEb+#atzZjaX;3otAKEN}8uK+v?cn{#cfcF8O1H2#bm4L4TJP-IOfUgF80PsP;hX5}C zJ`DJ&fR6xP1iS?JDBx=VUkms;z}EwQ8sMh`{(ivE0Q^kAKLGeyfS(Qc2Layz_&I=o z2=H?OKM(Np0sk=I7XW@C;2QzI2=I#mzXb400skMsF9ZA|fL{*yM*;sB;2#J43cx=B z_$L9s67Z`4{}kY#2K;KkuL1lsfL{yvX92$s@aqBp9N;$qek0&F0e&;!w*dZmz`p?a zt$^PK`0arIFW_GU{0_kH1pG^Ye;M$v0Dc$XUj_Vbz`q9gCcwWA_&tDs1MqtRzYp;H z0ski84*>oxz#jzs+kig=_``sI2k=J#e-!ZV0{$4_j|2V$;NJuMNx;7k_zwX8A>dB| z{v*Jj2K>i>{{--#0{#r(&jS84z<&<-bAbN>@LvM{E5M%z{MUg02Jqhk{sQ1H0{%O| ze-HRefd2vTmjVAH;I9DwC&2#<_+J43E8u?v{O^GO1Mq(W{x85^1^nNDzXtg0fd2>Z zHvo4p^wawPI9CE%{|7t?_;|o40KOUEn*+WD;9CN|72p#A-x~030G|Z-wt$H0=^sIy8~|C9oK%?6Ugrc_`3j~4EPkl zrvkn=;QIi+FW~zDzCYjx0Dd6g2LXOC;D-QyDB#loKMe3jz*B&myB2gjGz0k-z*_;I z4tN{j?SOXx{%*kE1Gs+bpu9~c6Gs5~BLROe;4=W93HU6)X9GS5@HF6a0iOr>e84*a zUjX<*z!w326yS>iH+R+OxLpe5j|O}h;9Y=s1AYwP%K<+YaPjn({YfT{2mA!UPXzoV zz)uGJeSl{GUjcX)@E*W>0q+Am2e`S*O2^4cAioOmJmBVTEvRN#uKj z&$m>3f#f&&{2;~GOMZ*bwLPB({F{=0!I#(eydwE+KJQlg_uW?5^F^N@ruYiU@3i=5 zCI7O|^@_&NB)`k&+bKQU(l1jJcl&&b;zvln$>+LUrvUzO$?x&y->dX|pE&(zeO?6o zRjKDbUysgrzjp{bZN5zMZ~F4upXW;cEsNhT`L}(3gtBZrHH4{&hb_KX@<)6=S;>D) z^6y&w*OEVO@%<>UrzXB<@l}$4-{&VO{WnYgL!aw7{H5ei`+PSgzw?el|4)6c{Wcfy zQOTe6<+a~FFZs`X-mUciUh-f1{7A(c-zoBa-r{FS{u`g`xP3_S7c9QpPD0P`ES{14 zC7j6B=4}~?~?p* zi*LEV(DPo4FOz(h#jlq-2LL`#@&R97>*<%g;PXStR`EHH_>@HOysGx+ z4M6@O$wz!Wqn?_?<_8Ns!E>x zPfe`z?IicgPa_q4N+LK1V~*nMh)+$N?#pkf_!Gok_P;3Q&-CSgqU5`$k^Y9@xyUUP zA13b7^I;*M2%b}JRPuL9zDYO#gszt#Ngh1!JXy)VEP3#JeY@gE(?n%TB6!~RMy;Rt z)I{*UkA;fwLI$|(+z0Ruz~=*gGV!U2GaH^$`RRImLh=okKc}aJ{r6aY=$1TqeqWdO zi;@S=|LXE?*Cg@{-uI!)TabK%WzVycpKsYSr&-t&Jol~ZrC0Lc`FCy4{gMaI^J;sh zv|zVhFGt?v42BTnV@#^DndK40w^KIrAIkwR0{#`i?*aVh#HS{_r%*+{x2nvWDPX21Zujk+s`z@z@9_C* z#WzX*WuLE6JkcTaeAVJ<$v63Ys*?YZ4==PxVy$?p;R_t4Y4#1)F4B>DGz`KemJbfG;p@hhKeJ?BXty!TV{pGp3rFR%3 z6W-IiB1_GOB@f=$srk*4|Jl;>YsrK6Z)*AdXyJmc<1G0h$%FT4>Nvbb^5DIhn*UjH z@9AJ+=jX&f^l6+S^pE%JOUs`w`Q{e?hU8oM{4~-bJ`FReUu_7^H(2W7#C+neb~*(3 z*~F(Nwo0C*((Cc%QOUihmBm*Fj`IX|oaNTP8}TWL;2aEn2Qe*qa4y6QPfg--pyxWk zzYO>T#Ob=s_YX}o~(<=F{z8=j_mV7UtpP}Thl6;EK^&9&h zBt9h(oHwHV@O#Oh@yF#EN>2+-sHP@@_gC(%_<-aG`1&=!N^OLv|9$)?`W&azJAL;XTDt-=_EBq6jyQ2NGNb=yk zkr_(Q<;15ZW?6c^CFO(jShSu$NgkX}qV>$2C-ltq^-NdxTp@X<#eXgNBA;*9;2Cr< zO(do!miYXG%FZFhFI9i*cJx)ryM1{bKmV3|xzBaKJ*QLXKhEcGD19Z#Px86GlYNWi zD}1io>7OO<^ZDPEo+B3s{VRR0>uZDLr}&(P8~M4CxU1g(7sx*>`H-b&Cz`NLNd)J* zQ1RubhxpWlEq|NhGnCwB>Sx0uAwS~lr)DlcOB7$K{?_u>O1>s(@-2=Mde$UYDETeb z&tb{E(+LF9ez=eLltgfDkGB6Ei-jIrzDMyHO0Tx(tCD}fvVW^3LeB>*JF}8+u=pd2 zuTc86{cTjxsfpmdf!h8J#HS>FHbIH|Pv|`c$BCeDJIABsODdGOx7EmVJX=&?f2 zEy?ZF-@2dqq~yVS^t62PI3a(#C0~*}crTuoe_C-<|D5B6p5Q%qcd7ocPx4K^{U1_x zeVzDrsx17+1AuRHf?NJ5z%K**cH&bLwmn;(DEPg;on6ZQ!->1>ya@1b0Y2d*x1NQ7 zZzMh?5u9&!fO66uk_YEN?xOflh`a3H=48Pi@XPfFC4YqE!Tb31j-^q_gZJy5t^9Di zw@3sU~KzPz4MOitpbi^z7vG8x$Xrd^evzsQ4zy_wqS4Px*OW@~J-8dXC5m{rma+0VV%Q;!_gA zd2}-r{|k^`+As7Ry@%>pUfYs^r1@untrF4#|V}Tiv4aeNFPEj~^1ZlCKr1oudOtj}{Q{>Pmn^qk=HzbSj#BtO~bpH{pm`3j%wH&Wb0 z+|}N{K>Ra_;QZwI%KoRNo?c(iSC#(#RttOjeSU_LUk~`Bk_YdBdR58)Q}W=wP8$@T zJ|Og;>g(6zZ$a|ly-Rw1;Cjh}_b5H9^!z~bGkiVXc}cWBFevn&<@4RP^b#B@dGJ1? z%eVG;j`(L1-4m4B#98W>ONqPu`BACod|!W`s>g=`e_it6y+wae`lk&EJA?NS?XLX4 zQu51v{W~iD3CV-^1nsOOo|613Uw&=U%V3v+(0`53`_ymUl3(X@-Q!)w-G+t!;C(uppD20oejLp|D*2tho~_hxPe>lTzh;fnzvHPw|0Z8v^J65x*W#B* z{(#T5e;$$iA)jmiY&|0M>(-O-N4~V=!TVXX{pU&k17DBk4@w@qKSlHZNdAm3zn7}_ z1B)Wx;JqjM&89iYgZG%|^4=_Y@Lm$lUy?j{&xq#xmxTV{y&kOr*_x*198;MUz1n0*tRr0?B^1IN0GBpvr7h|@v|4QO6dv25R!TT=`Q~rPF znQr+50iQ*DYT_{8KP@WXdn9l6`JXoP3b5z{LOysu#d_7RUQXO)=k;*KX~879V%{*lYF*s&)&+;^NG9iy$0~R1Xpb~!9L#t@=p?f2fbIKUFD}6=06qJ zD)jf0&lclm@E(UPl)zDv2k&2)q4+w^4Ckg#Ntm%zS!dbmVBAd^?YXP2Spq% z@cAm0@5PcY^ttxotHky1N>u)sOcRwUiRHfh4(iJ`$%FSq=(LL^Ki-$$U&*hR`~;tC z`RgP<$>&p){KJx;>~k&uvgE;gB6d^qTc0EBT;a>_qWD3?by|hwk1oLbq@EsM&%0Ej z^Ca)}xz>NP(L`|^7z`8kpg_*~2P zNj~KBy_Nihk_YdPc(>vYOFrVuYdxEv>-Jj<@hORtFF#r7IZpE6y%O5z@0UDyuY~sJ z)snCC^=SF~B|pvQIv##2dGKBdZRghK346})<+VMHlAq~wE#EEqSw25N*?*Sg!FwgN z{O2X#;LGo?6&4d)Ac&h`00O1@F@;Jp%B{(X`M@0Ca?`Hx6`fv-o)KP34^ zpD$AKyL?#W8@yMdUGY`KwQm)YKQ5EdU`LewokHiXVA_(EkyiYkSU%1ZIjlHCKq9pyW@NJa~V^9L2vW`BlCio$thrLeHmtuKjSLP|dGP*-W0d^di-n#WeLY(K zYRPZ*`Fth+d&zI{dAs6mmk2$<`y)|KrxP2=EI4zYp-g0)EJ4?tFUz|2W`}6Q7cJ$S>Cus=R-Z{Ar(W zr}*-Z2>ItMey8NGSbT@eh5X-rK3VBW98<~rBY2j*c9l}8-c{L=Olc&WFBLm`(_LBmC!K1_9F^%U43XSuZ>e)Bp*7u^uC`29 zsj0EQFtRo~(wE7XawFMNff8p|PRkcZvePyzC=m0x>>{My?@eha%wt-Yo7!#T3N zb#1;cH1tPCJQkpRO9eyDYL3D(3cw_ z(Uwe_KFbz&WpuTWX9u&T&hAWiW2QSrUw6&TbT?(nOlV1D<}F$>Yv!U%ra0P@>C6Nb z-BnuDp2_43`JsF%F>TT8RC9~?A^({!eruPsQT*G~B>!y||F+2AQ%&-ZRFfyw)FFkN zrF5z}<^APJws|7$-goUDY?t|@+GS3uc29)1ABxNxrRt^@sk5m?e%I70bvCuibWN?E zL9L!-t0&SXVRNJUAyqdwwh5ihjZ&mJCABoCJdu=4-kkEjYx2Hpl14OpI89Zz~MvhSv1;OkdNKY0fmZP<^fHnAzW-AIcq- z9iG#gUW26CyLz(&m4s5Q#|-5~7(^0o=^n`r6$i4Vd|{|U?x{AZQ75QmM^g*8!)1tB4`Tq+bYgV~|=ne52QqWyhaPqr_kRCwWN%QOic{kgSeDvXBTkzUuE z8x{@EP9H1ab#g<0s&(c_zO-sESIYOM?V@(%+}Wq5`(I?#5Z56+mB|nF7wDf;a=kQU zcdDjY?k&^ZF_qb_tx;iFJp{T8PX#qGyEVOZVee8JYhzD%(iMAcQtpl7Ez5Jg&7FN| zn8eZe?ZniJ1#<~w{D;#r9V=dUmuf81)QzSd!zHRv!z;$XluplX?UXZ)rQJN^iYnS@ zT$v>%L_)#huI7xRbTo^pRclyRtd)0_rms=a>p38pf~8WbNz)arkBm^Ub3t!vv^5&X6B+rOO8#?kzre|%$fxE z<)~{ctoPr+(1|Uv=FcO zvx6|F1VUjx@ui};#1~GruF4kqq&CElexi2iM(P41`_WIDYL#g_ht}jqiekDQUxk-@ z=YrWfDRo2s$m6WVAoqxs=qHF$hxWxuNPyeIk?OQ#n6A#{rHU?eFx;x^-X(MAcBSbW zdFHG|X&TFDF@xH1rgzoqOg~-Hqh^^h=FeeqXvv0|ZVE?_R$?cM)llr@RkRgbNe#`#p{&{#W2>sQ(byWR2z#s~M&#Q{A_u>n zG)nyA%a5>OA|#b+4gSiDlqiw$F8?vXHJU*DRwem}YO;jD|zG^d%RC z>H1dAJFCzec2V4t@s|DRLN0pN@z(X)in-is8r#!drIvpB*_ldZGJ`!dc9(LQ646w1 zrn69_RlVHMV4*J;TpVlHy;Vz$svj)BWO}QNDT^!ZnYyfZI*VBs%{AHVTyD^fvb;{B z8tYbBo0Z1ol2#aM@~1h5lfK&Qb1e4OW}ri1O&0nWBDK1XE2_z&;5xomlgczXZF-Bk zleWHmk@{kF*3&TCWT9Nx4_*J@}`ePL1#wPE78Cc{#hwG<}n zJ1k7dswOS$&F(~BP`<;%yG-d`uEN3+koPlb;^yyrD8KTuZ#_Sh-(W4Q(zeo zZ)1%ka$+eE)^#tZfveS9iSriX!0t5_hSLWMVwayCWU+F#lIsB=SUw!c7E7+>!#XYV zQK_eAGHUISu7`@b5odO3xKc?QT$V1R{UY*)T=}KjTQsy*m{4_h1zk+Y21Ky6MD0in z<`LBNqt{xbMc=MM2kpvMbwR7d%eo5QULLhW!?9hfv3H;_MAx%oZ}Q@<#!M<~Gnn0h z(0Xv1c0`v}iESur5_687Hj?X~mdUJKw=OeGx3vpH*@1j%eP&G~-G=R5m(9@PHpM@! z==!~}Y(vVi*g$GvIj^||b&zt{!?guHzD(I!F_T)nP-Yx1N3B_mX&Jm;Mb?w7QB`OC zv?Yeu*D*tD^Fw`^Wx3+$V2)&5m3>0@n#Rmfb5myVn-zOvdz9CU)aw1RQOt;N(c!ZQ zEEg5QSFb25*DS2ypSk*fstbABURKH*-pS*=fgCSeba4=NYJ09HX z>l6^S@-d1CJ0l|`jCp4H&b?IgTG~*Z>n;oz1_~?Ji_x=3w2H1mtNcQ29hP$y=LVJF zl1xcca*^68?6@+ElFC>&jF7~?;wqO7_d^riPVQrF$a`+cw+NnIDxE+#X?tngIF*oo z%MJB8pKJ=9`w8cmc8Gn3<^`pf>#{Dn0^>^Hm$9Ox!|i2hthy@k9igqm^hjJugoQMv zY_c^NOtxrZ+>y!1@iRklM9M#h?=UHIza!!Liu|Iv3*Q zRI~8a>9^KNO|?;dT1($z*AVJ*VVm$nx%!l_0xM@)q41RzM2pDEdQj=ZI$}pGSEI(S z0qDmtBmC6SJP}D%g<2_Vm$Zx)e=$y9fXoiA<>MUy>dCFl50w$M;wV~`F_W~PidDPVD$1#Q35FcI+2FpN zVP|OFQ;D~-uaY}^?_dCJ=`9R=GfwRIsuccKikghHwS^gLPm1)wTFXVY@2Hr{yxv*dXO7hmwHN5I zM7e{8ZGEY3to3>{x%^w}U>B`(tT26u&~l>9WuPK+pbXkl#BsVYA3PN*xB0l6h0&>{ znubSmVWYb{_n^awR_w4TT%fB$C6vwKf;)BI%t%fHciEgtqvg@qPC8Xj235covF60 zbysK+vBJvbkFg5j(7dYizHzs<#?IEzR(P6j7Mhpx z9GkaSh`**raeXh2ttys+ooC|Is!X7S_G8c?R`MDQPP1b*dAsIYy$=F)UTZ4C_@gt4kZhLWSie4lBqHh=-Y)Gqds~|H$L6%(8`Y+YDS!p50W# zS%kFHd>}U@Vn6;#hN(u{D>9NB9?16Q(u0GvF-0u-SD}bDSJAHTHKe4v^kQcVo#I2w z{lXJMi8wsk-#e2VT3K3Ews{8oGF5{w?VAYlW{1DtMiu4Qmcab3?)^|-CCF9);kc@zztj+dcU<^4`c=qSCGPAW>sN-k56%H} zRfcC`U%G>0W?4a;lj9Y3<~q7_)R!pchk6S|?{$7EL>hoQQ~P*8={UO0woR)>2#`zD+)2u?6F!Aa!=C1!RJ0~=>rZBT`1tQcj^ zGCJB`*r~W^(6HNn= zBiGVxY7-7!OHt&yoEF4Xs(p00kFLOG_V&_=boACUdhd&Oec(!`bKr4XJawd0IiKL# zUS6M4ltxJ7U!n6f&VXSBin!ombl#D#ko+2qoFcHTia{nwT=m#s50_P#UUs?NCp&d{ zxsGbFy(mr$$oH>LJEv~6q7jr#U2!-o*3mx0OmXWl>zXee7-exP23-J;-PooB z3N!t*6rJh!?i$gOPjDM2;(ZvpkL17BG@Z_irSrvIv*;zF@*PhZ@dyTW6*O<72WhBt zjGqDB+N67P`u3o>!|ASKj{MD0n@5Ba(xp$ z(%(7o=GfCnrU;WdGt0V#Ro>dNXY?myxFp^k?W~OxpgOUqkP%weJqfh4rt^R+OfEuug=i&Zq)MI`hz{<>6<}%HbOQjv+hzI6jJmW(%}7( zbV=ZIZ{H$r%@6j_JKd_e*2dEb&fn ze^l_BGHn;3hOPEk)a~__a>gQyl=U`p3{oa-Iv20+$#&_Ssd8wP4*CN**vk&V+ptsa zDY11=`Kj6WlZ4fKiI(EXN%YS1jA${lw4wES+h^bo@9@NQr7=~!=w8%Y;I??OCjL=4`Q5x)N=_sqWQK_zuEXoT9NxJ}E|{);fBjJ+)jj&L+|%hrdFoJwN$ljrvCnJyV%h~ME|3R+jGnfHLyM%*6}cw+J@{OVp{o-NMBTI)jJZ*SMip)E>uWsqEWQ` z1nn{v?r+QeB{pdm^G=sh7ZtcgIE&}%*z(2wDY6D4Tub>Czp23fmZvo?2F%2cue;1X zB{&g6`ORqf#`jiw=Z3{HH^q8R+p4@OQoAQ#_JxL5pGJAh4^edc#35t(MfR=!ZXK^? z%&bH&RVL!r60FPtbA%p4$gRm=APZ4cF5}i?-B=FM=avO}jU~V^wJuSh)xOmcrWi=O zb>qztAz4&Nq+7V7=Z*X1rZPg!q^A43R%wZ=MDGEKe>}DbWTW?__ZqGlba$U2C5iPY zi=!JAYdl^9_6n!RifT`S@yF|$6@?T!toq7(dUFmDtL9v)Lad5a6{hamY9Z)s$_pH~ z5==e1v~l&=omFjiA$?WbXZCtEn&(zmwRMiJvql4<#%gU0>3eH4wW4Beam;Srn8cME zSr1(ycE#!$EJHn0wfd@8yZoNH1`Xc9cG?u(E4+m(iGHEpdRye0!|>=xF0&>-Qlb;O zXjrAS3fBUrJ%>h%_0dvKFXl?L3ak#{j+|*ras5!QcWW-HogKwhg|&m(q4hD-OZKiY zK3aX1T}L93IGFwyp9cE>#AG7z+8f@dQPM>rf4*LQA^+6k=UZ4kP6qXIAmgasZ)JM+Wb(Xz_fcHL)oo1v zR3?8r<6AI(2jg2YJzrv+ew7~)pI>2|$Iso2@2cd5Jzry7_mhHeVtg@^|2pFXjNilf z`HX*q@f#Vxm+>zsF6_UL@vks>-X0%h^1NOiWBh)m=PAa&$#^aP`8LxN#Xk=*dG4Qw z8R!1_4&(og{`oGmKZ<`IWAfZTk2B8w^918>m46OmarJ#>&m6}2xV#ydL_kDPP=a6Z=g^7!HT^7!F=nev%6fnDzJ(rvEusk5@9z>-Sowzn|&SpEommc)Qq&$)CXFcT`-& z1HW$K`cGu?{5qG*uLSw-!}2|r=@|j?Jm2FY$n$c&m&x;dk6|3;%jK6xkmq*JVDh}( zasPAql}x@6!4I7=<^ROwe+Tq)zx6YD&gV0(=kp@oKEe2IOh2DjbNP=&kmvsIW%3_n z`jJ2TBFJ-lu3+*}?7uRCJh#7x$s_yY%JcY1N6^pZ=f;#D3;n#juQ7Z0Jb~wXGpKj2 z=if|Ei;@@d$^DP?aR0o{^h{%VxZm`6G@icaamej?gX!Vr;(CxhT+e@io+$ni_KA<^ z&o|pFkvLrbl}H?>ehU9=PF&Bsj#gaAi~qMC=K(#hFy)7oyvSz@re_V~{5ozf<6Qno z#wRj8^A#8QZq4|)K>mN2{5DMfdy1Ro;^X)vCf}gSZOU(@xF|0#*Y=EW%k)fUd^^Tz z3LrnCT=iPth@$5Jm9Ma$Uytkf6rA_laqX-{|E(;}_hfc*d-hRW`0X|(Kg{I$`pkO9 zxgLJq#N$o(|3d%HtiEm*fj}SOA1?nT#fAJXO#WYroAI-aa;VV5MZ{h;m9oa;G-^oVkZ57#5OmXD%mHOX(| zsVUPVcpN=out=JrCx31dpRHRXX8+u4iY1Yd!NB z7ilzqzv7~vc>G@i`1Ohl9sE9szRnW7!0aEd0>I?QDK36YX6<4X<9ysalW}h6xs3Dp z-$&Ug+TD??A9zx6k&Np{?fqR$&)&?=$Cw`8-haa6_hIr=z%>MnD{ZY!hKa+pEm3Im&SB}L)6Y~#`2QEJ^g8U~~Jp78uw=?}b zPVQu!$Mfc*q0mRfC+8~6BhS-j2qp9p>G(YAcuBo}USy@`Z#l(9d*SmvK2PI%&Q$V3 zKaa!3jC1=@ym3GC`P+$15BFQY;=)cof4fO>Q6^q4zRttj*V91$ImOL#y}&qcUwYj} z$n*BKy^%v2JufxocVqF%>vt;S z+z*Y6b3goFo44=7>SY@15C6>k&-)oJe<+hj;}nIG{D^wz_wV@poY&WMB`@N$mFeet z+8Nj5ose%~d_Sc}(<;^YS(_{k*(w ziksz~$K<&^Jl`42Z)4%lTJ+cAPk#TG`;*%<7XF++#{R5De=Yvx_lvndxjkdy&#}mN zE@&4^7=JU{X)X4QMV!aAhq^BL5&hnD7XOnN=lv# z`x@&%rzt&x^Zfw&{-)r3JUWlb^M3ex#YMiyvvPfl$@B5$2TY##x6d%n{qQ{Fyu80> z`g#Aa*YSisy#KGoKYYJU6#wvedpr1t_vd5bAHLrvihp>2^>*+N@1K!>I#|5%b=Phd zpFJ%8`x)oNqGu9Fynmi1S|qd49dX+t;pap3nOky^byH z8DaM9%jEl+Ju?{R`WG_JuP>G|&aYqk8RvS280Y=Q`x)o`!`Y1UdGb4ze?+ zzAkhblP@wqT*o-S55Bp|SLiP>`5tCZp7|}$9W4yrlOH4oCfB1LCdED+G z45W|f|9N@$Vw{)vK*o7|PGg+M=RC%_{w0j_I7I6tlZBD=5q1u<^78p7AIE11VfqMv z@^#3wCAHUoct6AK{}Pbr^9^pl9>;~9+&{ek;p+o&$MJ)dJwiV(?=r?$G5_fGF5w5h zp1Fp}b3NKWLY}W@qWgn-9ZA^3X zgBj=X*33B9Kbi6qA7Kmc-wu`3<7-*_ylA2<1Ux0>0>*X{YZ`E90$`(KZ1qJH@}@?$2?$4x!13Agfb^JON_ z$IZVfF5-EJ+4&mdeB9hj)t8VjF!}9SJ@RpL55{?%cQDS&JBM*zUOwLO_~~ZyJkAFh z=lVw(=kdHhl}CJppSeHzJdI!1((tDQIw0@lLLB280Ye*G0vaMIFE5& zFM56=%FC~d`FOpS#or-d^;+bm6z#nEYp%Jl_wa=X=8cT#p{d zP5v^|!{rk!9ys5fah~sdz&jY{dieeyKE5BI>=EVV`)%@y3;&D%^?d97ii>jb{^#S0 zoAOsPc^+3cFwXn8uQATY$L$&C_V22=u%GWQ;^XfJSzPJs1z{(jziqDc2+sG<==jlG zuN%x`^5Q$qxqrC-(f*L@n4WdXK+jEz3qPO3?7tVte+$TO!Qx>u)3XcXygg21oZCO0 zabAzyZ+yQH_Z#0Yg#4zTcQD(_g{)lMp3eY3e2&R;zdg@5_rqTq=YHV(5_!J*{;#kT z`GM~T<9-la$I1T%Kk)r*+z)&|+y4bW@cnPx4}AX{^27hN{v^scbs_7={#(YWy;MIV z#wmUs$LGl#S-E(e@cGY5)?e{)a6RK|n4WVO=lZW_ocDXTGtT?HyBO#F9-o(Td-|9> zx2M23x93vExjk1h&h6pzF>cSPOrG1bfpKon#f)=%^!2sq=ea$1GkI>${fu*a^!!BV z;r1NN+Vyvp|3$n0IJ2L(>yI*y+I26h zM;<48W;`TLCXxcVvMJg$ysoZERWZs#E5+)lo3&+XLnNz=|dm>zEDlZOT1hUF#Wtgd7N?HpS;F6*K;77=X3w){fef4W;1#2p9PF_|M30T+&_FjHuulI z%1+ZiO^kE@@aqL$E*@{(Km2(y?w@CXfB5wj_s_PfyrzGqGCy$ta6fbZ@cqx+Km7hL z_mAE$XZmM<;GgsUUwdBzU)QvKd-{QtBB+XLIsFv01VvCBRTUILRnT%!RTM!H6hT!` z1VvB;~5;C=$u2anfbo$-4j)@L`PJ_i}~!Eu81IR)&oK6w5D>vMr&kLP*O zeiNu0&PS`B)_VJFs592H6mYEP48XCTjeui4zhYdDx8K1Y$6Gt71J-i`z_Ffq+zIQ0 z=h4s}&!eIJHlPRdIudZq>sTW%JZ_13O#wfc7tVLo`46y1og)B8ow(nKImGs&)Hy)_-%lrAAg;mT<`gDPB?BC2C^T*&+E{79Ohi`{}0ep3ieos z$2ni=|32rFn#^lD<1|mJ!2hd^lOMeQtIp`({^Z;>@^c^f$p!sbH$1<9_>*9d_3YQ| zJuPI|JN~2{x1gqm0*wl9|9cx$`)eTh!T#EnaoJx5V2}CY`ULYm3hXi8v4CT~#ek!J|9zSC zW4`wo_V~R3^Nlh-as2!{#wU)Sf7STB3F?6LyaRBo=Ul+Co^Jz=_8$U{_4LOTX`JA8 zwwCP)$Ng~cpKv@bIzKBQ$o`!|hOS9JGXcl#?;OBU&zFE>+$;*n{?YzB1MlY6In?Oi zkKuX=aGXc<>>X+pz7*CQ!T!zl$E`|)bP$3fh?0mt?81At>c(wwD6`tiCEdQXjX z;&nLm>_=*3kJsV6#W?NH;B`3f1CH0>Gy;y-;d}@F@p_Ld)}W|?9_*J{#yEK&aIC{; zfMXq&0*>dee*_%QkFP_Cx<++C|6Kvcd2vy*b)X-w@2UqJ=S30h*F6sXdz%|G)Tm#u z4sVeV*C_l9u=o8!_PGDNfa^>+&X=8`&WI0Zocvz^{>vGs@OXX5?cfJ>ernhc<~qx~ zCPDqt|JR270H{COZ@8ut=o;yK67=^r@NEtJ6u@y_pUF7szXay>`CyOp`dYwoUf&8h z&g(}3$MNqlM zCg)LKz%j2pz;T}L065Om0|3Xm9R@hg(^~<@{;g!3>UJsgZxz^M|IP*+`}Y;Vv40l= zjyk^p9P97{;Ml**8JGRrv2$~oGuGQ{F)sUeeZaAQy918>y9M~i{@n#|+^;wcaLjiU z;F#}Nz_H&?1swam3~=;c4mkF^|9(Vu!0V3ubt6*pt6eNqBAj-QJeCqI|L z_`&b>IDRU?500OE0mtz(6L8G;Il!@=b%5je@z?9h@v{)@as9BEaXEgz1sul@UayPe zr#%I9jn)G=e(-r9IDUG9J?7gVaLjinz;XNx0vyLr5#Z=Q4LFXU>}K_W{)`i`NGI0qW3b2T0M~%=iQ~kd$00wc(_e2a>)`u~YK-&!d5DWT z{rO_4vjOZ;=bwP1PCO5VI{o$1Qs-9ehw6D5j4S^=o$OKPV6eya+bfi)Yh;f)>AMLv z!g2lf8RJBwKR*t?1AEMCEpp(RwBLYnTHrYOcjwgr`Q8I{YXltg-P6eT03%hIKc=!%*tiuLSpXb4z z_W7yFyskI!3h;yVtTpUEG4L`t)e-r%>KpercnQSyq=fyrKf@8`9#$3?{(smHycf3P|5N*c|0nlzCP2RbFYV`GUjHxc=lnOX zVEc&M!T;O#OV@+#IR1W6H^6cK#NQVn_lt&tJ?V?A#* z_FL{Y@G9_w`xW(u{r3jG9Q@#Z1>VPj`tiCN)c=3me$jvR2LtwhYQHE4<`Ev3@ZU#h zcO0*C^ZQYRqy6UK2al8c>z8Og;`7i>Vtc~zxoz)(pCe%V`y=230bc=r@P2>1P8;v{ z_s0n-F8vmib-Io~f2;FjZf z^Z4`4yd>VX?%E08?>B+{Q?6DX|ATSzUjli3#5$#)7r4%}pg$k?GXrlYwx{0yYS^A) z+?jxX40?V6KcwH^7qlS>cTMWq&%mcLF7y4yz}I#))ckK@;PlK@YO-#>8TQAx9H~)w z%=dG^KY}{^&baj78?IMrQ%|@q1@U=+qyI19dKK*7KMZ_B65^Vy|Gox(3*)l>iwyhr za6Ja<526Nf>6$t`ui*6%-jRg4#`2qW5}w6)=iuKhxIbT*E%0o%?;`LnjQj04eQegl zcz0p{Gk;DBJjwQb1m1`7T!H5@-e2Ggc;5Q&>10NF^4Q*AH|y~^Z12~T9?xg{LBhXZ zkEaA)&3=Xm+^^pY1YW@YhY5TbWfX*S|#IC2T)I;1d`x6?iG*69qnz@iKvzF+N$~lNm1;csb)! z1n#eMtq^zx+fNnvRK_a>Udi}0flp(+O5jzDPZ#)f#;XNh&G-y~&tSYp;5CfT7Wiz& zYXx4*_#A=HVZ2V@b&Ssw_&mnz1zykie1Xqryg}d%j4u%Q0>&E!-pKf3fiGr!iNKdI zzEt2#8E+DJ6XVMSzKrn|0$;)SN`Vh#+&{O9KGOOv;rAPOJ>>C@jQi^rJf6k4KOgAv z&W!u-DIU*e+&|~j<6Ri{+aHhTFz)x~J>H%1q|o^*f9@mjK5XyzC%vCs#`_EV{*3$m zBX94oPs01rsBZW1euLjH_4e6}4-)>LV%+bqdixy4hY0(ete^u61fFF3VFK^Nc%i^^ z86Ph2{)`t1Jdg2_0w2hDTHyJNj~4hK#>Wag#rQaZ4`IAm;02727x-mdpAvx=F+M@y z{`%%pffup=i2@(Vc$vU`+{pqT&GzL2AIta@fsbRnLg2-WPZjuh#w!J0!uT|SPhh-C z;H8XD7x+ZRs|8-h_zZ#f z72D4j_;kh_1YXVf0)fw9yiwq1vHryZ_v2)V!1rLCO9eiM{Wl4`j`3vz@4$Xm2)v5* ztQ2?=+b3wn@wnyffaCGTM!?Y?pM!z+kMg{xxOhAhpVy7{pTc?o zf49P~ugDM9AICZRKL+BWf4nan>xSoNzlORU%=yxM$KPSZ>y~jG&H?*xz>mK_n)+~c zhj(GSj*u_mgBZ^S{ojHgobO8k_s@GForvS}PjGx54*qd`mH@s8{Nr`|IDRHlLatH2 zd0FM1NpK;k=TaiH5Xo3B;9phw={dEH4vcJv} zxbLrv8K(vIm;XIn*)R97y~LjdKUjbN!^HG&ys!COKHf<9cThK4r%{vmuYhBnJ2EF11 zehBsbRh-na6if#da%OQ0X|c{mFJpAPF)99K^;PGRtO+;IE&DfsdCJ&`@0 zZ~6}WQ97jPW^d4OZS?}8reFMpht^kaYFeLX)zoqK?P#PNBIs2`uFhjqZ?Cp1+3 zdgfF1PZ;9c(+AgNov#5L_1^_J>iht399RChEcwUz=#R5XoSsoYP3pN9aE$vS;23vL za=?Bt?m-6r5a2l8UIQH01D_iBGQhFFwt@XX)L8;J>YQlc?*fiGzXBX}ZtljIuLEue zw`QEW?Q&N`KTfs>d)!YL0XUAgqXEZxL0lgf>u?s}I8Uzw9PMuf9PMWVj`j_JqfXj4 z@Op5*(>{;KalX^OvBxp5-2=FJd@gr3zHUPS{}u32fMdVobuak+t{<=^S@%eA4^HQ+K`rK*wzZdLL&x3|N zJ}(aK@%$-1pK5O!%&yV6{SEqSSTh=o^D?(y_2cRY#>pPf7o2S1{x~Pu<8xmx2Yal~ zWX7pq@cF2fV2^Ph0{mgn{{-L|7oX>I3fR8__NM}l$8&H!;E#(_UZ~%nHzXYWYzF)J zIFERDpm}{loP4(H40`?mJsU7i(`hB({(eKM+n<2x z4Fi9zXfwbsgm-fG+5DL|U(NPwI9#@WX1``k`_3`#*D>tZcetkCUn5C5`2Ums4PyG~ z0`};~pBu#*k$+21*ME_poPUuYzwbx-F|WAw>2B!R1aM!Ye^#F!V2^q>104NW<2D)7 zzL#Nd^Bkx;dx0P9$BhBUevCU#_69%be+b~{-x?>D{-NLp{bvD={tE!dd1Q^BeZk%uKUwUE z<|)<(?e_;is1tGYgLU{jesI49{oLh_5BP?9DgjTj0p&FiaMX$GRrG%!*rWgZ0Z0Ek z0FM4~eTDw3z#jcS066;J5peX6;~f3p1NP|uUck}+PJp9-+%H1^)4?A7Z{WTc_=f)T z!5;me4)*Auo}cU+`tJgG6#tvTxJCbTT*Wu^zoFrO82HI$B8{s90M7&5|5gP-`GEW1 zydWqA_<`W30PuqVF9f_0@FKt`LtbgX4+i_OfL{al#eg3I_9cLC3H8B#>W`O4d z?$6;8lmh&IurC1o0>BFaKOgWSz<&h&X~3HR9}D<>;HMby2LLYtd=Kzb3ivmGmjRvv zyd3cF0IvZ24TxI__i~ZR@Or@gIVpk~0Dlhb z8v*y%(h#%+@Mplj3Gg=oUjg_4z?;8#x&P62VSB){2yl%S{u(6u?C-xId^@nu0sGyd z&Pl*~g1x_fkN#Z)coqe5jd1*ao!yKE_+ap#1Nd!#CjoyN{O1DR4e&g`%K*;@d@t~y z0(=PI1%U4jcp>0J0WSjlPr%cFw+B6A0pADgiviyP>`MSI0Q*wFe+Ik^aDPn*LFIt| z0QMDtF9f_2@DBj50=yb@Rs-G(@EXA90bUFE4S?4Heiq>MfX@ZI0q_?AZv^~$z?T3% z4DxCM{B5vb0r)DgZyw<8e>BcJf<4Z=zrY^nT?eqodAAbmao#1s9_QT|fM7jlF9G~^z?%T~*K!cF0`TLY4mj_A2OQ_! z@qpvJTMjtRyFUQOdDjkf;=HQ>JPUMgVeDt_5B_t&{&v8VfLq(UjUjFx*k1v7KH&e| z-UaLDfA{vTFVw#V>ThlDD#0G--M?ykcNh4_dH0{by*m@~!g;rqG4Bdte&M{k74RhV z*DUa#3wU?Hao$Y=9OvD^;6DX^4gtIX@IwJF1bjH)MSvFpo(BADz{di91mMMhe*t(2 z;70;p3iy|RmjQkh;N^h(dnE{}0DJ-1R|5V%;8lP>3U#gqd>g=P0Dm3uTEMpjybka? z0j~%AWxyK%e*y4Dz}EzP3E+1C-UN6(;41(>4C;W}yKe!|1yFAdD1v&>9^KKOQ$pQOY08avL?PqQRar40ba=`Ne|L=Zgu)X_t?`K{E^{;{Y zTl<;iV2|_eU$vik9r(w2_n*F>c`f9H^A69OXG8t>1bdu!djXyVdpv)H^9%js{PNd$ zlZzDi83O(pZeDFY@8-MLf%*wAV?)&c9IPKakG@~m0-j_Z;fF!oT)?foMuI)&RRjJD zzz^yv1blDsQv~=3z)Jx~KR$2LKML&2!Tx2?Qvvu;u&)ICaKN(w-@#ZvpAY`A&gFn7 z!Ot&%W1Y7L9LLXOudgXFu?hf_#So&T#X1 ze%1N+I#561Wo(H0={fMec^>sUJvZLBB)=j2Ac%`~w(>d}>@lyo;J*O;qn<**4*)+! zfENN@3OM@ld6WKQz`h*pUk5!EfFB63)89Kueo^OOLuWDgL7mqF zo+M|kkN6~p9*rU#i07sp89TBdtc7}O}I(G#;Ng`b%ojZa5yk<1O(Ld_h1^lGI zeh}acH~W9f`S&_dKjCF;i2C0IJ)TE8>j6(PkMKhvF4oz~>qxN2yyk)b0`QM|3IX2@ z{1gFxDBz`lqaU9)=|2kW%fbF_&{F~U?qFXD_;A3no_O6C=8HJHY3?t&w=Rc)EbzZN z;OL+56x(?oM3N%U`g zF0sFdi12E#--ZBg{y9#he_Ic_Wdqo65BO5RcL2P(0PZvS@%OmVzq=6N8ZG>9HqqyN z!2NHg6YlSer+@E80Jk*Q`)7^Pzs3W;r#E)XGQjr&+&`zE{=GNg{yF-D?*sT8@Ut)A z{yFsY@BIPy_hAw4e>1N6-*8{jL16EnLq+!f*_-rl|9l?84<&%xAnv|@WTQ3 z_r;SRf6pNOy9Dfy0(-iLiyGPcXQ$BTO2CgHfZGhfkM*Ei)&YJz;0pjh0q`ckPXxRp z-?v42P69j!@KXTq5BRBo`}_3C&*^~s`}7Gv1Mp(-a~9we0Y4k?3c$|=d^+Ig0bUFE z1%S^7{6fH&0Ddvx{=R4tw-0K0a2K+|A{WgpI+yr<7*xv%UKh{n5w*u}ra)jRwxWA^C@H+ta z*8mWH7vTOF7vXmUUc?(w!tVuq9N_l>UJCd>0G|T*1Atcn{t)1^0e={9e@=n)JPPIz2g08PycqE3 z0iOu?3xHPw{u1E+Iq~HGWx(sf{uRI%1O6)DerJgMybgF5-bo_-4Z!{L76^X}aR0mo z!rumbEckgB@Cksw2Y5N)9{~O+;Inv+(7)#Z{vp`E0r*FNF9DqF8~J}L0bdCAt91%K zP+tBw0SQS0PWFuix;7B-&jP6VbvM8l0q&odPyWfik^eUi?7v`)7G;2c1^86JzXp5` z;NJq?0Qh%+`<-CY^8?`iISGXS2)KV90^vUco`&ZM`~r9x;41*14>4J>SR9z@b$qy4R{y8CjjoBT}gh*0r%%j37-adH}F#fcz3|( z0q%cek^C$HJPGz4*QWmleb@`|9Kii|5VGqJxPO)%;RS&EbGU?$27F8KUkZ4Cz^4Mf zHQ+UX=K($+@a+I^0(>Cgo!22%LB2Zzo(s7DZbf!O0N(}d(}2@h@nfP4@ZG@vdcb!F zyasTxFQuTa%>#T-uzwHm!GLG28}LZW5WxEYJ{0g2;01t>1bjchivjoFF)89?zz+ob zn*jIE%qRPKfcxKOC433shk~Due1L=UIt=h6;QrbB6eSJ^=7BfR6@zEa0VppA7g^z{df;0`SuS zZ?}G{p3?!(1)S{51GB^+z|RExLcsm81)_`w-2WB{;im$AF8G-SxPJyX**^^U`C#7& z_yoYe2K++6yKg|=g8KVsP}Appz%K#&;ecNT_$a_90zMw_Nr0CNJVilWn+EumU|%cn z!oWN+AMnXw-z0Ev-;sYHgXR(0r`b;q;N{?FpukgXUjX=xU_V;mK5hx%H-r5YfqVNZ zfqR{^0ly9WGzi@5TnhLdV4t;NkO) z8}N4ke;M$10Z(k)TL1R|?*#b!fae45k0FzXJpum^?8gHBG2jybUkG?5;QpEFZ=-p)7*!-4B2l z0{$c5M*#j4;FW+c1N;HNe*wG+@LvJ{4e%9!r@FW5{2lOp0sjN=a=`xt{8qqM0X`4# z<}a>6xWqER+f(tl{Rwyn!29@NX)BfzTw-x%=60PhBP1K`~O z{|xXRfM;#in%8E4uLpP%@O;2~0lp{Ty#X%P0iOYQA>b7})O%_z1u! z16~C9O@JQ(cs<}p0sbN2BLUCuL#hIuM+3ew;Ku-70Qj+h9}M_$fR_M18t_X1KLPM+ zz)u8x7T{w6Ujq2afd2^iDS-Fy+nVpGfbRhKX@HLgycqCP0Y3xqseqpa_CrX9NBQ;4cIICg7d7Zq->2_=bSL4R|@=?*e`+;PU~W z5BU3lF9iGpz;m~0)$<|X+XDU(;1d8}0QlvAF9f_E@J|8%5b#F8`{cFiSp@h1z&{6k zG~kN?54`;EzwWSZy96KFZsR1ypZN4wg09)jTP=7-HvOw3|KH*dQ~2A);1?)9dz2OTRyUhxreT!JnYSr~90IT)(v9mnnR@uf+5G(&A51_;j7L=lP|@uT=PS zEt2Q?rNy7F@OO^EuTl8B#Nf|iJ|E6*9>3Rgh_1guiN9Nn_=^?(?lJgH3V)9n{FMqn z6@#DEE^vVLyEaDs{JC|UKlFSHKW_Ze8b7%lANfOK@cp@KX8A_m_dTgUnz9)s_XZ6m)Z z2EQZkBO#xjtKs|2FRlK|R`~Rs4bSsSi{D-0({ndG&o3>0F7t8zT_0oo4^rYE9V32$ z!apVkf4IV@Ym0iNdGnRC%6XTKtI$e{>9f zxxzmo27ju;9}|P`zr*AFq35Ley#3P3-+#Bp@q0sz@mr_pr{6#HasASY@4qXe{!?P` z{dYCwkBh-y%K9wEl^jrWR*DtO3E0y^490kwwON*by1{j~7tKfNlY4N)#e7e`j^Ze4{ zClx+Dr^NI8(&GF3%}_r*&&2cm(&Fc{0rIbo!5^aVC&%CyDtvklzt`=TmVST#9IpRv zb7R8u{LSOzNlK&xjg7N8x`TgWpHt({q)h#`n(<#r&IM@clD_kpEK* zeu1L@=NSCq3ZKSA)cn&5|Cbnie?K|qzdQ!NM2Y`v4E{ugzaj?TKLZr?)AP-u)^Dm3 z|MwVte;+-@|04!}h7x~e41TS`|1$=Ep2A-hgWsU=|BAu)&kw-*(K;<^|1~M`>G}Fm z`70GZ{jN$>e%2b9>reU}j;Q=D3cq6veve<3siVfPQ2537MZ#xGz#jz4<-e^h>v!l!-G zsQj@CpMFmuD!)X@pMHNWDu1HFr{8;v%J@ag&MQTgMUkMsA482pJ!e0m;h)c6$&e`E~)bcIjP-;Nr;mif5;r0;}L`SX~M z^}8>|_*s_^Oe=c4LgsqpFde4_F@uNllg%%6TQDJs9a!v9B%{QE2Xb7RCG zr10rGc~t$wn2+PKSAMN6oc=dtA+KWbJ9`kKZWDt z_6LqW|(3{CNtWe*Y?J`~?c1ezz_vf2qPRi@{&1@agv| zqsH&NR_6NW!5IDDo%uNau89#pSBX!*4--{?zQU*9&56n{Q22CAFDl(miT^+heu=`L9%KD8k@-0OrpJgsMd3djgYTbz ziSZwa!JnbTe>4Vvj>4~w!Jp53UNrarV=?%RO8m!T@S7C=6EXOSwKMlW9*!}7vK4+! zjQB}~KPv`5PvJiugP&6P&&1#tD*V|o_-TdzYz%&}!hbFXzf|GVImM{kpK^u&LJWST z!hbOazgpqH6oX%@@aM$f*DL&&WAGal{@fV+CWZe>41Qvr%=upzgP*PNUyZ>}Dt!9A z=sPvO(=^hV{U6h563kIFA(KCb`Yh`}GJ#D6mef1JX9D+Ygp!mp3PpRDlTj=`VG ze5~IiF}6QdO8ogT;``?_#{10OA85@IQ*dZ&LUl$KbD2@?Q{x z-+A3&{e%6#Fa|$|`PhG-#^C2F@f&0C2P*tUG5G#D-I)KEG5Euj_+Q1~7b*2y5`#aM z`FQ^7w;241O8oC*@TVyJrWpKb3jgOA{22;=Sq%Ohh5t(o{(ObMA_jl4!v8%6e;M=n zG-&hppEcYy4N?bWLQ`{vV>mZy!VdFonNn4E}J1zg7(XNQFn82s4^zgrCc9EHD04E{WY-#rF@zQR8}#`=^uU z3jdWD{P7C^jTrn13jd)P{D}(xv>4yNCM*0$V#J@K@DGhK{-!GYjbiAZrto{m;7?ch zx5VJjQ26~~@MkOh&N29N6#m&U`12HgDh7W(^YQ%6^D)Mc|6NO5|K-GpzeLer5QE>O z=zlea{*_AnJ~85V5qQfRO2@>pI4(U%b>~l^jng|-_9HG(*NEq z{^k_@%a32;P+QJ?IeyOJ-yIFCT3@C90S+Kvl3&VvAJ2P``sq2*+Wc$a`RC^u&A;nh zAn(uP^xI`x{IZDp>9>>R-=%-VC;AknzVD{KXOD-(&EbnD5eS(`5Yj4F0l+@z-<(*78sAz;(mB zO_T9=H2CfPz;DA2ezy>zvkZPV^WC&*(`5XA82qjgHjEV{6h?WBlE+? z--QN$QN;MO41N>yU3uCxng3FQzdU069oz;|tDpaU@8NBtXO2I5&Wl?GBvQgIpV!|7 zjMMh#Q5VQ>kG;HNBmQvy-EQGFA^YQLgP&&pHo}3d-ya6QJYxI<+yv3;=lNmrZ#MX~ z5#u+8@V^Mjzo)y;S<`<%|4zA}XVm{#gI~>jS#SBd!r=SgPY;X#UI@RZa3JG%a`$;^ z`7er?|K0|_34Z4tCCK=6pRpGIr- zpwRTE_;=z(_>A$hcL-n3cd7qegFiT8{HG0mA@jr5zsn5%h=}p`aQFFW^-D*Le~G~# z6EXff2EUm3yNM2z_3!5H6VUWO5;6W+2ERID{Fe;=_YvcFbJrG>G%Aw`1>3D;)wC-It?wp z=Z_TqC&xdXr`P!NBF4{i2Z%I&J@do%zqfLHZT(%LtiRuLf#mx8G$Z~;5%oW1@Ee&g zH)FDXj~n`{75xp0{-2Eazem)c=e}TT^-uH&I$q9Kss99n-=6tm_+)JV9y0jZ%n#fC zEHU_9BgWs=9jDatPclDj|9?lv*T!F+vj6|7(to8!{P7X>&o}s`%->yffb74`Hq`Tf zE@J!(41R6I_-`8gRT1OocGdMKHVqOF`~GpB!Ovs9C|}0-{V0SV7JoZ;oJbpg>4@q?{QQT(FOL|1u=}2> z=Fj||A`Kb8)ZjlJG5*U2zn1y3UNU|=w}I01zi7lKTWn(uetpFFa}EAG5#!VM6it6) z#Q1L;{6$85Sx?$e)8aQV|7$FkdoSz1zvFA$kL*r_Cj4RG=JVI|o2+vG=&v$n1TzTaA*F5ISddcy3g~8vB z`ObBlCjB)U{8YsFdA)S~gCoX&$KV%6jDJdRJ^mpP<9F+$^V7_Cr)SzUS^rvtKPF=Q zJ^SkMi!}{y-6K=goEo}ZjZ}2-ZKk(A}+P?K|^Sd4c^!VA#51W5y8vI@n z<1aG!v|XVVmjAw6>-q;qj6cKRry|Dh>b_vMb2{brdq~9iR~Y=li1B|g_`@T{KPpex zpN<&+IfFksV*LDV_4viiKc0#UO|Jj9cYN*pL$31uVT<;e-yfzK@#nk!3avR8ZQAb! zzmfTewXx3p{Dj zb$m^Ky`q1xqJM%Be|3%@sAzq4F50x220uHZ{>KdcOBDTkEBY51@w-OU-*;!d{>g~? zla8;|Kd~mEZIAyIDEf~y;`fWFf11J1i>UuDLw}B$Lu$nmxDQ^NY)*MsIp*MAHX*VVfF9i_*(s&l=_cS^ba)R&xxpitii93 zSpVY<{mHe0^*`1>t?0kjh~E@Z|J)FMSp8ox^p9ozIR1}U^fwvtJG$elT5~SiwA|hF z@srK`WE<fb4Z?+(wkX>$F!o#Sicr%2I%x}yJRBmSKc^*?6t zE17?G8}*svf4ZT+lJ%#VPwW3P75&SN_#3+O3R)9~vl5r@q4!^s`R?-KHci&Q)bX|Y zC)N(ePY$z5|JjQE)l+)>{)T?%qD_0=;O8;lonC0ur2eNJU(=tX=r2+9pS-88{|H0B ztpEE4Kh6A3ZPaIupSK-f)1Rm4zd+GHaImibWJABK{}TqknE6XX^grVGn*IXTpX7qk z__@dh&tiXmT=m&2(BEDN8|lt#QFE7Pw`sEecQaoeKR=oIZOHC}Q~|TTK&eZLuev_^}9@|U#Go|`tigGtKTKe�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 HGXDPpS~DK} literal 0 HcmV?d00001 diff --git a/nuparu/lib/linux/libtbb.so b/nuparu/lib/linux/libtbb.so new file mode 100644 index 00000000..43e23674 --- /dev/null +++ b/nuparu/lib/linux/libtbb.so @@ -0,0 +1 @@ +INPUT (libtbb.so.2) diff --git a/nuparu/lib/linux/libtbbmalloc.so b/nuparu/lib/linux/libtbbmalloc.so new file mode 100644 index 00000000..2ee0cac0 --- /dev/null +++ b/nuparu/lib/linux/libtbbmalloc.so @@ -0,0 +1 @@ +INPUT (libtbbmalloc.so.2) From e6251646bcb28518dfdfcc3b2c423610ccc2b290 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 21 Mar 2016 13:17:56 -0400 Subject: [PATCH 11/29] AntTweakBar working --- CMakeLists.txt | 3 +- core/display/Window.cpp | 29 +- core/display/Window.h | 4 + main.cpp | 5 + nuparu/include/AntTweakBar/AntTweakBar.h | 378 +++++++++++++++++++++++ nuparu/lib/linux/libAntTweakBar.a | Bin 0 -> 943958 bytes nuparu/lib/win/AntTweakBar.dll | Bin 0 -> 643072 bytes nuparu/lib/win/AntTweakBar.lib | Bin 0 -> 14662 bytes 8 files changed, 417 insertions(+), 2 deletions(-) create mode 100644 nuparu/include/AntTweakBar/AntTweakBar.h create mode 100644 nuparu/lib/linux/libAntTweakBar.a create mode 100644 nuparu/lib/win/AntTweakBar.dll create mode 100644 nuparu/lib/win/AntTweakBar.lib diff --git a/CMakeLists.txt b/CMakeLists.txt index 716df78b..06c19644 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ find_library(OPENVDB openvdb Half) find_library(HALF Half) find_library(TBB NAMES tbb tbbmalloc) find_library(ZLIB z) +find_library(ANT AntTweakBar) #Iex IexMath Imath IlmThread @@ -50,7 +51,7 @@ add_definitions( -D_CRT_SECURE_NO_WARNINGS ) -set(CORE_LIBS ${GLFW_LIBRARY} ${GLUT_LIBRARY} ${GLEW_LIBRARY} ${JSONCPP} ${OPENGL_LIBRARY} ${OPENVDB} ${TBB} ${ZLIB} ${HALF}) +set(CORE_LIBS ${GLFW_LIBRARY} ${GLUT_LIBRARY} ${GLEW_LIBRARY} ${JSONCPP} ${OPENGL_LIBRARY} ${OPENVDB} ${TBB} ${ZLIB} ${HALF} ${ANT}) # OSX-specific hacks/fixes if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") diff --git a/core/display/Window.cpp b/core/display/Window.cpp index d3c52eab..b80d2e4a 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -14,7 +14,8 @@ InputHandler &inputHandler = InputHandler::getInputHandler(); Window::Window(const char *title) : Window(640, 480, title) { } Window::Window(int w, int h) : Window(w, h, "GL Window"){ } -Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h), _w(w), _h(h) { +Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h), _w(w), _h(h), + loadSceneCB(NULL) { glfwSetErrorCallback(error_callback); if (!glfwInit()) exit(EXIT_FAILURE); @@ -25,6 +26,11 @@ Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h) // set version to OpenGL 3.3 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + #ifdef __APPLE__ + glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); + #endif + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); + glfwWindowHint(GLFW_RESIZABLE, GL_TRUE); _window = glfwCreateWindow(w, h, title, NULL, NULL); @@ -48,6 +54,16 @@ Window::~Window() { } +void Window::initializeTweakBar() { + int w, h; + glfwGetWindowSize(_window, &w, &h); + TwInit(TW_OPENGL_CORE, NULL); + TwWindowSize(w, h); + TwBar *myBar; + myBar = TwNewBar("Settings"); + TwAddButton(myBar, "loadsceneBtn", loadSceneCB, NULL, " label='Load Scene'"); +} + void Window::setupInputCBs() { @@ -73,9 +89,13 @@ void Window::setupInputCBs() { break; default:break; } + + TwEventKeyGLFW(key, action); + TwEventCharGLFW(key, action); }); glfwSetCursorPosCallback(_window, [](GLFWwindow* window, double xpos, double ypos) { inputHandler.pos(xpos, ypos); + TwEventMousePosGLFW(xpos, ypos); }); glfwSetMouseButtonCallback(_window, [](GLFWwindow* window, int button, int action, int mods) { switch(button) { @@ -114,13 +134,16 @@ void Window::setupInputCBs() { break; default:break; } + TwEventMouseButtonGLFW(button, action); }); glfwSetScrollCallback(_window, [&](GLFWwindow* window, double xoffset, double yoffset) { inputHandler.delWheel(yoffset); + TwEventMouseWheelGLFW(yoffset); }); glfwSetWindowSizeCallback(_window, [](GLFWwindow *window, int width, int height) { inputHandler.windowResized(width, height); + TwWindowSize(width, height); }); inputHandler.registerMouseListener([&](InputHandler::MouseState &mouseState) { @@ -209,10 +232,14 @@ void Window::initloop(std::function predraw) { painter->draw(); } + TwDraw(); + glfwSwapBuffers(_window); glfwPollEvents(); } + TwTerminate(); + glfwDestroyWindow(_window); glfwTerminate(); exit(EXIT_SUCCESS); diff --git a/core/display/Window.h b/core/display/Window.h index aa79ccca..2319783e 100644 --- a/core/display/Window.h +++ b/core/display/Window.h @@ -11,6 +11,7 @@ #include #include #include +#include class Window { public: @@ -23,6 +24,9 @@ class Window { void addPainter(Painter* painter); void removePainter(Painter* painter); + void initializeTweakBar(); + TwButtonCallback loadSceneCB; + private: GLFWwindow* _window; void setupInputCBs(); diff --git a/main.cpp b/main.cpp index a82c3f15..14ad309b 100644 --- a/main.cpp +++ b/main.cpp @@ -19,6 +19,11 @@ int main(int argc, char* argv[]) { window->addPainter(&particlesPainter); window->addPainter(&boxPainter); + window->loadSceneCB = [](void*) { + std::cout << "what" << std::endl; + }; + window->initializeTweakBar(); + int framerate = 24; double start = glfwGetTime(); int frame = 0; diff --git a/nuparu/include/AntTweakBar/AntTweakBar.h b/nuparu/include/AntTweakBar/AntTweakBar.h new file mode 100644 index 00000000..a1cf277d --- /dev/null +++ b/nuparu/include/AntTweakBar/AntTweakBar.h @@ -0,0 +1,378 @@ +// ---------------------------------------------------------------------------- +// +// @file AntTweakBar.h +// +// @brief AntTweakBar is a light and intuitive graphical user interface +// that can be readily integrated into OpenGL and DirectX +// applications in order to interactively tweak parameters. +// +// @author Philippe Decaudin +// +// @doc http://anttweakbar.sourceforge.net/doc +// +// @license This file is part of the AntTweakBar library. +// AntTweakBar is a free software released under the zlib license. +// For conditions of distribution and use, see License.txt +// +// ---------------------------------------------------------------------------- + + +#if !defined TW_INCLUDED +#define TW_INCLUDED + +#include + +#define TW_VERSION 116 // Version Mmm : M=Major mm=minor (e.g., 102 is version 1.02) + + +#ifdef __cplusplus +# if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable: 4995 4530) +# include +# pragma warning(pop) +# else +# include +# endif + extern "C" { +#endif // __cplusplus + + +// ---------------------------------------------------------------------------- +// OS specific definitions +// ---------------------------------------------------------------------------- + +#if (defined(_WIN32) || defined(_WIN64)) && !defined(TW_STATIC) +# define TW_CALL __stdcall +# define TW_CDECL_CALL __cdecl +# define TW_EXPORT_API __declspec(dllexport) +# define TW_IMPORT_API __declspec(dllimport) +#else +# define TW_CALL +# define TW_CDECL_CALL +# define TW_EXPORT_API +# define TW_IMPORT_API +#endif + +#if defined TW_EXPORTS +# define TW_API TW_EXPORT_API +#elif defined TW_STATIC +# define TW_API +# if defined(_MSC_VER) && !defined(TW_NO_LIB_PRAGMA) +# ifdef _WIN64 +# pragma comment(lib, "AntTweakBarStatic64") +# else +# pragma comment(lib, "AntTweakBarStatic") +# endif +# endif +#else +# define TW_API TW_IMPORT_API +# if defined(_MSC_VER) && !defined(TW_NO_LIB_PRAGMA) +# ifdef _WIN64 +# pragma comment(lib, "AntTweakBar64") +# else +# pragma comment(lib, "AntTweakBar") +# endif +# endif +#endif + + +// ---------------------------------------------------------------------------- +// Bar functions and definitions +// ---------------------------------------------------------------------------- + +typedef struct CTwBar TwBar; // structure CTwBar is not exposed. + +TW_API TwBar * TW_CALL TwNewBar(const char *barName); +TW_API int TW_CALL TwDeleteBar(TwBar *bar); +TW_API int TW_CALL TwDeleteAllBars(); +TW_API int TW_CALL TwSetTopBar(const TwBar *bar); +TW_API TwBar * TW_CALL TwGetTopBar(); +TW_API int TW_CALL TwSetBottomBar(const TwBar *bar); +TW_API TwBar * TW_CALL TwGetBottomBar(); +TW_API const char * TW_CALL TwGetBarName(const TwBar *bar); +TW_API int TW_CALL TwGetBarCount(); +TW_API TwBar * TW_CALL TwGetBarByIndex(int barIndex); +TW_API TwBar * TW_CALL TwGetBarByName(const char *barName); +TW_API int TW_CALL TwRefreshBar(TwBar *bar); + +// ---------------------------------------------------------------------------- +// Var functions and definitions +// ---------------------------------------------------------------------------- + +typedef enum ETwType +{ + TW_TYPE_UNDEF = 0, +#ifdef __cplusplus + TW_TYPE_BOOLCPP = 1, +#endif // __cplusplus + TW_TYPE_BOOL8 = 2, + TW_TYPE_BOOL16, + TW_TYPE_BOOL32, + TW_TYPE_CHAR, + TW_TYPE_INT8, + TW_TYPE_UINT8, + TW_TYPE_INT16, + TW_TYPE_UINT16, + TW_TYPE_INT32, + TW_TYPE_UINT32, + TW_TYPE_FLOAT, + TW_TYPE_DOUBLE, + TW_TYPE_COLOR32, // 32 bits color. Order is RGBA if API is OpenGL or Direct3D10, and inversed if API is Direct3D9 (can be modified by defining 'colorOrder=...', see doc) + TW_TYPE_COLOR3F, // 3 floats color. Order is RGB. + TW_TYPE_COLOR4F, // 4 floats color. Order is RGBA. + TW_TYPE_CDSTRING, // Null-terminated C Dynamic String (pointer to an array of char dynamically allocated with malloc/realloc/strdup) +#ifdef __cplusplus +# if defined(_MSC_VER) && (_MSC_VER == 1600) + TW_TYPE_STDSTRING = (0x2ffe0000+sizeof(std::string)), // VS2010 C++ STL string (std::string) +# else + TW_TYPE_STDSTRING = (0x2fff0000+sizeof(std::string)), // C++ STL string (std::string) +# endif +#endif // __cplusplus + TW_TYPE_QUAT4F = TW_TYPE_CDSTRING+2, // 4 floats encoding a quaternion {qx,qy,qz,qs} + TW_TYPE_QUAT4D, // 4 doubles encoding a quaternion {qx,qy,qz,qs} + TW_TYPE_DIR3F, // direction vector represented by 3 floats + TW_TYPE_DIR3D // direction vector represented by 3 doubles +} TwType; +#define TW_TYPE_CSSTRING(n) ((TwType)(0x30000000+((n)&0xfffffff))) // Null-terminated C Static String of size n (defined as char[n], with n<2^28) + +typedef void (TW_CALL * TwSetVarCallback)(const void *value, void *clientData); +typedef void (TW_CALL * TwGetVarCallback)(void *value, void *clientData); +typedef void (TW_CALL * TwButtonCallback)(void *clientData); + +TW_API int TW_CALL TwAddVarRW(TwBar *bar, const char *name, TwType type, void *var, const char *def); +TW_API int TW_CALL TwAddVarRO(TwBar *bar, const char *name, TwType type, const void *var, const char *def); +TW_API int TW_CALL TwAddVarCB(TwBar *bar, const char *name, TwType type, TwSetVarCallback setCallback, TwGetVarCallback getCallback, void *clientData, const char *def); +TW_API int TW_CALL TwAddButton(TwBar *bar, const char *name, TwButtonCallback callback, void *clientData, const char *def); +TW_API int TW_CALL TwAddSeparator(TwBar *bar, const char *name, const char *def); +TW_API int TW_CALL TwRemoveVar(TwBar *bar, const char *name); +TW_API int TW_CALL TwRemoveAllVars(TwBar *bar); + +typedef struct CTwEnumVal +{ + int Value; + const char * Label; +} TwEnumVal; +typedef struct CTwStructMember +{ + const char * Name; + TwType Type; + size_t Offset; + const char * DefString; +} TwStructMember; +typedef void (TW_CALL * TwSummaryCallback)(char *summaryString, size_t summaryMaxLength, const void *value, void *clientData); + +TW_API int TW_CALL TwDefine(const char *def); +TW_API TwType TW_CALL TwDefineEnum(const char *name, const TwEnumVal *enumValues, unsigned int nbValues); +TW_API TwType TW_CALL TwDefineEnumFromString(const char *name, const char *enumString); +TW_API TwType TW_CALL TwDefineStruct(const char *name, const TwStructMember *structMembers, unsigned int nbMembers, size_t structSize, TwSummaryCallback summaryCallback, void *summaryClientData); + +typedef void (TW_CALL * TwCopyCDStringToClient)(char **destinationClientStringPtr, const char *sourceString); +TW_API void TW_CALL TwCopyCDStringToClientFunc(TwCopyCDStringToClient copyCDStringFunc); +TW_API void TW_CALL TwCopyCDStringToLibrary(char **destinationLibraryStringPtr, const char *sourceClientString); +#ifdef __cplusplus +typedef void (TW_CALL * TwCopyStdStringToClient)(std::string& destinationClientString, const std::string& sourceString); +TW_API void TW_CALL TwCopyStdStringToClientFunc(TwCopyStdStringToClient copyStdStringToClientFunc); +TW_API void TW_CALL TwCopyStdStringToLibrary(std::string& destinationLibraryString, const std::string& sourceClientString); +#endif // __cplusplus + +typedef enum ETwParamValueType +{ + TW_PARAM_INT32, + TW_PARAM_FLOAT, + TW_PARAM_DOUBLE, + TW_PARAM_CSTRING // Null-terminated array of char (ie, c-string) +} TwParamValueType; +TW_API int TW_CALL TwGetParam(TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int outValueMaxCount, void *outValues); +TW_API int TW_CALL TwSetParam(TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int inValueCount, const void *inValues); + + +// ---------------------------------------------------------------------------- +// Management functions and definitions +// ---------------------------------------------------------------------------- + +typedef enum ETwGraphAPI +{ + TW_OPENGL = 1, + TW_DIRECT3D9 = 2, + TW_DIRECT3D10 = 3, + TW_DIRECT3D11 = 4, + TW_OPENGL_CORE = 5 +} TwGraphAPI; + +TW_API int TW_CALL TwInit(TwGraphAPI graphAPI, void *device); +TW_API int TW_CALL TwTerminate(); + +TW_API int TW_CALL TwDraw(); +TW_API int TW_CALL TwWindowSize(int width, int height); + +TW_API int TW_CALL TwSetCurrentWindow(int windowID); // multi-windows support +TW_API int TW_CALL TwGetCurrentWindow(); +TW_API int TW_CALL TwWindowExists(int windowID); + +typedef enum ETwKeyModifier +{ + TW_KMOD_NONE = 0x0000, // same codes as SDL keysym.mod + TW_KMOD_SHIFT = 0x0003, + TW_KMOD_CTRL = 0x00c0, + TW_KMOD_ALT = 0x0100, + TW_KMOD_META = 0x0c00 +} TwKeyModifier; +typedef enum EKeySpecial +{ + TW_KEY_BACKSPACE = '\b', + TW_KEY_TAB = '\t', + TW_KEY_CLEAR = 0x0c, + TW_KEY_RETURN = '\r', + TW_KEY_PAUSE = 0x13, + TW_KEY_ESCAPE = 0x1b, + TW_KEY_SPACE = ' ', + TW_KEY_DELETE = 0x7f, + TW_KEY_UP = 273, // same codes and order as SDL 1.2 keysym.sym + TW_KEY_DOWN, + TW_KEY_RIGHT, + TW_KEY_LEFT, + TW_KEY_INSERT, + TW_KEY_HOME, + TW_KEY_END, + TW_KEY_PAGE_UP, + TW_KEY_PAGE_DOWN, + TW_KEY_F1, + TW_KEY_F2, + TW_KEY_F3, + TW_KEY_F4, + TW_KEY_F5, + TW_KEY_F6, + TW_KEY_F7, + TW_KEY_F8, + TW_KEY_F9, + TW_KEY_F10, + TW_KEY_F11, + TW_KEY_F12, + TW_KEY_F13, + TW_KEY_F14, + TW_KEY_F15, + TW_KEY_LAST +} TwKeySpecial; + +TW_API int TW_CALL TwKeyPressed(int key, int modifiers); +TW_API int TW_CALL TwKeyTest(int key, int modifiers); + +typedef enum ETwMouseAction +{ + TW_MOUSE_RELEASED, + TW_MOUSE_PRESSED +} TwMouseAction; +typedef enum ETwMouseButtonID +{ + TW_MOUSE_LEFT = 1, // same code as SDL_BUTTON_LEFT + TW_MOUSE_MIDDLE = 2, // same code as SDL_BUTTON_MIDDLE + TW_MOUSE_RIGHT = 3 // same code as SDL_BUTTON_RIGHT +} TwMouseButtonID; + +TW_API int TW_CALL TwMouseButton(TwMouseAction action, TwMouseButtonID button); +TW_API int TW_CALL TwMouseMotion(int mouseX, int mouseY); +TW_API int TW_CALL TwMouseWheel(int pos); + +TW_API const char * TW_CALL TwGetLastError(); +typedef void (TW_CALL * TwErrorHandler)(const char *errorMessage); +TW_API void TW_CALL TwHandleErrors(TwErrorHandler errorHandler); + + +// ---------------------------------------------------------------------------- +// Helper functions to translate events from some common window management +// frameworks to AntTweakBar. +// They call TwKeyPressed, TwMouse* and TwWindowSize for you (implemented in +// files TwEventWin.c TwEventSDL*.c TwEventGLFW.c TwEventGLUT.c) +// ---------------------------------------------------------------------------- + +// For Windows message proc +#ifndef _W64 // Microsoft specific (detection of 64 bits portability issues) +# define _W64 +#endif // _W64 +#ifdef _WIN64 + TW_API int TW_CALL TwEventWin(void *wnd, unsigned int msg, unsigned __int64 _W64 wParam, __int64 _W64 lParam); +#else + TW_API int TW_CALL TwEventWin(void *wnd, unsigned int msg, unsigned int _W64 wParam, int _W64 lParam); +#endif +#define TwEventWin32 TwEventWin // For compatibility with AntTweakBar versions prior to 1.11 + +// For libSDL event loop +TW_API int TW_CALL TwEventSDL(const void *sdlEvent, unsigned char sdlMajorVersion, unsigned char sdlMinorVersion); + +// For GLFW event callbacks +// You should define GLFW_CDECL before including AntTweakBar.h if your version of GLFW uses cdecl calling convensions +#ifdef GLFW_CDECL + TW_API int TW_CDECL_CALL TwEventMouseButtonGLFWcdecl(int glfwButton, int glfwAction); + TW_API int TW_CDECL_CALL TwEventKeyGLFWcdecl(int glfwKey, int glfwAction); + TW_API int TW_CDECL_CALL TwEventCharGLFWcdecl(int glfwChar, int glfwAction); + TW_API int TW_CDECL_CALL TwEventMousePosGLFWcdecl(int mouseX, int mouseY); + TW_API int TW_CDECL_CALL TwEventMouseWheelGLFWcdecl(int wheelPos); +# define TwEventMouseButtonGLFW TwEventMouseButtonGLFWcdecl +# define TwEventKeyGLFW TwEventKeyGLFWcdecl +# define TwEventCharGLFW TwEventCharGLFWcdecl +# define TwEventMousePosGLFW TwEventMousePosGLFWcdecl +# define TwEventMouseWheelGLFW TwEventMouseWheelGLFWcdecl +#else + TW_API int TW_CALL TwEventMouseButtonGLFW(int glfwButton, int glfwAction); + TW_API int TW_CALL TwEventKeyGLFW(int glfwKey, int glfwAction); + TW_API int TW_CALL TwEventCharGLFW(int glfwChar, int glfwAction); +# define TwEventMousePosGLFW TwMouseMotion +# define TwEventMouseWheelGLFW TwMouseWheel +#endif + +// For GLUT event callbacks (Windows calling convention for GLUT callbacks is cdecl) +#if defined(_WIN32) || defined(_WIN64) +# define TW_GLUT_CALL TW_CDECL_CALL +#else +# define TW_GLUT_CALL +#endif +TW_API int TW_GLUT_CALL TwEventMouseButtonGLUT(int glutButton, int glutState, int mouseX, int mouseY); +TW_API int TW_GLUT_CALL TwEventMouseMotionGLUT(int mouseX, int mouseY); +TW_API int TW_GLUT_CALL TwEventKeyboardGLUT(unsigned char glutKey, int mouseX, int mouseY); +TW_API int TW_GLUT_CALL TwEventSpecialGLUT(int glutKey, int mouseX, int mouseY); +TW_API int TW_CALL TwGLUTModifiersFunc(int (TW_CALL *glutGetModifiersFunc)(void)); +typedef void (TW_GLUT_CALL *GLUTmousebuttonfun)(int glutButton, int glutState, int mouseX, int mouseY); +typedef void (TW_GLUT_CALL *GLUTmousemotionfun)(int mouseX, int mouseY); +typedef void (TW_GLUT_CALL *GLUTkeyboardfun)(unsigned char glutKey, int mouseX, int mouseY); +typedef void (TW_GLUT_CALL *GLUTspecialfun)(int glutKey, int mouseX, int mouseY); + +// For SFML event loop +TW_API int TW_CALL TwEventSFML(const void *sfmlEvent, unsigned char sfmlMajorVersion, unsigned char sfmlMinorVersion); + +// For X11 event loop +#if defined(_UNIX) + TW_API int TW_CDECL_CALL TwEventX11(void *xevent); +#endif + +// ---------------------------------------------------------------------------- +// Make sure the types have the right sizes +// ---------------------------------------------------------------------------- + +#define TW_COMPILE_TIME_ASSERT(name, x) typedef int TW_DUMMY_ ## name[(x) * 2 - 1] + +TW_COMPILE_TIME_ASSERT(TW_CHAR, sizeof(char) == 1); +TW_COMPILE_TIME_ASSERT(TW_SHORT, sizeof(short) == 2); +TW_COMPILE_TIME_ASSERT(TW_INT, sizeof(int) == 4); +TW_COMPILE_TIME_ASSERT(TW_FLOAT, sizeof(float) == 4); +TW_COMPILE_TIME_ASSERT(TW_DOUBLE, sizeof(double) == 8); + +// Check pointer size on Windows +#if !defined(_WIN64) && defined(_WIN32) + // If the following assert failed, the platform is not 32-bit and _WIN64 is not defined. + // When targetting 64-bit Windows platform, _WIN64 must be defined. + TW_COMPILE_TIME_ASSERT(TW_PTR32, sizeof(void*) == 4); +#elif defined(_WIN64) + // If the following assert failed, _WIN64 is defined but the targeted platform is not 64-bit. + TW_COMPILE_TIME_ASSERT(TW_PTR64, sizeof(void*) == 8); +#endif + +// --------------------------------------------------------------------------- + + +#ifdef __cplusplus + } // extern "C" +#endif // __cplusplus + + +#endif // !defined TW_INCLUDED diff --git a/nuparu/lib/linux/libAntTweakBar.a b/nuparu/lib/linux/libAntTweakBar.a new file mode 100644 index 0000000000000000000000000000000000000000..20f53ca3ae99f98a2039a00c67d69a02d74ce374 GIT binary patch literal 943958 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 ltF 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%0AD0ZJcR%p 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

    fzqrYM6k!=SjSXQm?-u($EPcV7 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

    5Vs4R}nC9HQf8>(gmoLh*%U$)~+J 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 z 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 literal 0 HcmV?d00001 diff --git a/nuparu/lib/win/AntTweakBar.lib b/nuparu/lib/win/AntTweakBar.lib new file mode 100644 index 0000000000000000000000000000000000000000..0301a125b7ab5a628dcbddec621c10c585b7cffd GIT binary patch literal 14662 zcmc&)O>A665-vL%l6b?CB_aPmL>xG9U?on7WA?C!<($26;D8XPNbJ|IyWi`s_s3+C-6xgb zbai!q-TkVotE%1mQn|5w=jEP}jQxy`6~`vV3ln2So1az1vC(tt=Nmml^cSK7cZm*t zLUi~$qEk6ZL!S`|>VG8Zit0x`tJp0ep0lFHz@b9qVsrz#xPEg-o;zcen}_3B=Tqu zZ_x2?71i(t6)r0J9B0t{B86H>cd<-!us@q@+*?EJ0S-eeO=PT*F=K)v37zcDw2vH zqF>O+`;x|gM8BX>jBE74($b~*YgZSXrJ32q>4i(zoU02B{xF zxv&uZ)sT`h&c*9jE-%eYI+L{Iv}W(RwdQ<%W8J-R$8}eJKX>8Aa>ZRVIwR}um#b>6BYK@ zLZWJ5h9rXwwTP%!7>jG}a&>cI;n1i;wPq{5=+UjrT0Q%jxzcDZ7?-EKi;AgbF3d*>X|9sG zQLT;TN~1;ASHKSBBBea0)0(cY-CJx{7MqP~?M_HQe=ex57jWuG8|A#4|sp z(%D=kB^Ax=%+N5wR&r8#LUIAyY0bE|t2GxZx3SzT$6f1Qb%6SLpr@f>m*Xs!qQ}?cvS6x#Momu=q@=~qhZbpgv6 zzENwIjAfOb`fM#1jjg#-s*Xc$Rm_ETXY#$ZoANn^(qs87zSpNyUki5_FumSX(e5f> z3e8?|n?iTd)w(&jP=%Him_~n6PBER<6}QC%0**K8x$=5*w$XrQ+bd!5oz}&2t+L{J zg4UMee5Zv|p;B)xR{!jpTgv8Q?2U5EMAT*7es;6E-n5Wp4*}m>&*_au1IK`@GnWBh zC{*Xo*XG)D4%Im=$8D@uYvrbE4%T8itxL74Wzod-P{BYGFKAN1u3qB+pF$BAm7iv^<3L7&3+o&gOWBl-Ze9qspw6TOus z`X-MtoF#ef55d3l~ED6wl*``!L>cwq_9f&X3H41$P|b* zW-&q$-2{eBw_)Zj%ub4e3{w|0OmqR6JEx7GZXGg#krh!{E5jUGZET~+s|?dx@ROm3@%Tk7`kGH9UeO- z4dR<{-E9yVX--_so0wlvrd{{J4ZOj(;|(K-vy8pbAczz-(+Wj2lZQ$+UmXI8xo#s5 zK3rK@8A-csDP+&7dzUwQ=DN1fqkWhEu)7O!0{nP9UBeak*2bHCi?T>Giywc}1@$h` zuBqW_rQ9s{Au5s29=!eu`j0Aa!MjA+FO(dj2Kns5YYXtSoZyxy^F=q_dl4y!=Q%d1 z0ouK58~CD6@d&9Mo6pZzmmBr<`t4?BaA7Djcj?Myua^DUiLz)YIv|7{;+Gi2R__-> zqSA7Gbq!U$Z>k<|%1E3w)>^w$iUyfKgbq^E@(Re3-*W=?^t~G<8 zw)b6OG#V4h9pqE=9DT3-sp9Q4@nk^oRPmm*@Vr=~W4xl?j7(>c3_~W$TTeSgv9c)~ zo|RKIs5ln=HIe>9UMvDVh-?^C`}MA{!WmA3u3E znACO8PejihDO=L9-8euXD*W;hfp zck~4hNF<)BU=WY-1!Hz2E=llg_p_~bI+(+B(`F&4KU zh+W1!t;`JvZQB|Y5>UHs)F3I;F=~WMrorF7`0%7<44bI4~=x&pH8jE5|j`Zw!ZzBON#4ta*mxT8X`mkz@9+ z@E^8uWR^1Q6g$ZaKWu2XN=9v0=XrM5XFE2ryhg8rN^5p{;00km)H3kkcj&qRDuGfY_1{s7Oo z7T{B4<@7a8@XSv7h;}|a8`>ysqbAIAz(+N&G8h6MLHaxsEWx0U=wFg>xF>3PhI~B# z{-txggcUs{@z~W4hh*i{6-|m*PD?~}X~cSN|Jx<(!ZQ-dx{m4;FCSyYMUwcekEbrW zI9U6dl3>+_C7R*L;tuVpB90h{{`FkvhzVaXYar^IKMu&s>AD$X)kOAZRO0z}imY$G zys218XGBh7S+|uP<0YK+V;axC2j!6M>u7@Y%$u08J_oI_{(XZ%(BNAJ4zcW{db3{!_yI&PhD;p1gCs1id*g@z@nS Vhh*jSFPLE2UNjNa Date: Tue, 22 Mar 2016 00:11:49 -0400 Subject: [PATCH 12/29] some bug fixes, still velocity transfer problems --- CMakeLists.txt | 2 +- core/display/Window.cpp | 2 +- core/display/Window.h | 2 +- .../display/painters/GridAttributePainter.cpp | 5 + core/display/painters/GridAttributePainter.h | 14 ++ core/fileIO/SceneLoader.cpp | 29 ++-- core/scenes/default.h | 12 +- core/solver/FluidSolver.cpp | 161 ++++++++++++------ core/solver/FluidSolver.h | 8 +- core/solver/grid/Grid.cpp | 33 ++-- core/solver/grid/Grid.h | 6 +- core/solver/grid/MACGrid.cpp | 16 +- core/util/hacks.h | 10 ++ core/util/math.h | 1 + main.cpp | 8 +- 15 files changed, 210 insertions(+), 99 deletions(-) create mode 100644 core/display/painters/GridAttributePainter.cpp create mode 100644 core/display/painters/GridAttributePainter.h create mode 100644 core/util/hacks.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 06c19644..0c02d0d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridAttributePainter.cpp core/display/painters/GridAttributePainter.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index b80d2e4a..3a3efe76 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -12,7 +12,7 @@ static void error_callback(int error, const char* description) { InputHandler &inputHandler = InputHandler::getInputHandler(); -Window::Window(const char *title) : Window(640, 480, title) { } +Window::Window(const char *title) : Window(1200, 800, title) { } Window::Window(int w, int h) : Window(w, h, "GL Window"){ } Window::Window(int w, int h, const char* title) : _window(nullptr), camera(w, h), _w(w), _h(h), loadSceneCB(NULL) { diff --git a/core/display/Window.h b/core/display/Window.h index 2319783e..f44db335 100644 --- a/core/display/Window.h +++ b/core/display/Window.h @@ -16,7 +16,7 @@ class Window { public: Window(const char* title); - Window(int w = 640, int h = 480); + Window(int w = 1200, int h = 800); Window(int w, int h, const char* title); ~Window(); void initloop(std::function predraw = [](){}); diff --git a/core/display/painters/GridAttributePainter.cpp b/core/display/painters/GridAttributePainter.cpp new file mode 100644 index 00000000..22b1009e --- /dev/null +++ b/core/display/painters/GridAttributePainter.cpp @@ -0,0 +1,5 @@ +// +// Created by austin on 3/22/16. +// + +#include "GridAttributePainter.h" diff --git a/core/display/painters/GridAttributePainter.h b/core/display/painters/GridAttributePainter.h new file mode 100644 index 00000000..f3e46afc --- /dev/null +++ b/core/display/painters/GridAttributePainter.h @@ -0,0 +1,14 @@ +// +// Created by austin on 3/22/16. +// + +#ifndef FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H +#define FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H + + +class GridAttributePainter { + +}; + + +#endif //FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H diff --git a/core/fileIO/SceneLoader.cpp b/core/fileIO/SceneLoader.cpp index ad17de4f..edf6f6df 100644 --- a/core/fileIO/SceneLoader.cpp +++ b/core/fileIO/SceneLoader.cpp @@ -40,23 +40,28 @@ FluidSolver* SceneLoader::LoadScene(const std::string &jsonstring) { FluidSolver* SceneLoader::parseJson(const Json::Value &root) { Json::Value containerDim = root["containerDim"]; Json::Value particleDim = root["particleDim"]; - Json::Value particleSeparation = root["particleSeparation"]; + Json::Value resolution = root["resolution"]; - float containerX = containerDim["scaleX"].asFloat(); - float containerY = containerDim["scaleY"].asFloat(); - float containerZ = containerDim["scaleZ"].asFloat(); + glm::vec3 containerSize(containerDim["scale"][0].asFloat(), + containerDim["scale"][1].asFloat(), + containerDim["scale"][2].asFloat()); + glm::vec3 containerPos(containerDim["position"][0].asFloat(), + containerDim["position"][1].asFloat(), + containerDim["position"][2].asFloat()); - float particleX = particleDim["boundX"].asFloat(); - float particleY = particleDim["boundY"].asFloat(); - float particleZ = particleDim["boundZ"].asFloat(); + glm::vec3 fluidSize(particleDim["scale"][0].asFloat(), + particleDim["scale"][1].asFloat(), + particleDim["scale"][2].asFloat()); + glm::vec3 fluidPos(particleDim["position"][0].asFloat(), + particleDim["position"][1].asFloat(), + particleDim["position"][2].asFloat()); - float particleSep = particleSeparation.asFloat(); + float cellSize = std::max(std::max(containerSize.x, containerSize.y), containerSize.z) / resolution.asFloat(); - glm::vec3 origin; - Box* container = new Box(origin, containerX, containerY, containerZ); - Box* fluidObject = new Box(origin, particleX, particleY, particleZ); + Box* container = new Box(containerPos, containerSize); + Box* fluidObject = new Box(fluidPos, fluidSize); - FluidSolver* solver = new FluidSolver(particleSep); + FluidSolver* solver = new FluidSolver(cellSize/2, cellSize); solver->setContainer(container); solver->addFluid(fluidObject); return solver; diff --git a/core/scenes/default.h b/core/scenes/default.h index 1d75b425..6f678ccc 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -5,15 +5,13 @@ const char* default_scene = R"( { "containerDim" : { - "scaleX" : 5.0, - "scaleY" : 5.0, - "scaleZ" : 5.0 + "position": [0, 0, 0], + "scale" : [1, 2, 1] }, "particleDim" : { - "boundX" : 3.7, - "boundY" : 3.7, - "boundZ" : 3.7 + "position": [0, 0, 0], + "scale" : [1, 1, 1] }, - "particleSeparation" : 0.1 + "resolution" : 4 }; )"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 0bb34226..b8961c34 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -4,10 +4,11 @@ #include #include "FluidSolver.h" +#include float FluidSolver::g = -9.80665f; -FluidSolver::FluidSolver(float particleSep) : particle_radius(particleSep) { +FluidSolver::FluidSolver(float particleSep, float gridSize) : particle_radius(particleSep), _cell_size(gridSize), frame(0) { } FluidSolver::~FluidSolver() { @@ -40,7 +41,6 @@ void FluidSolver::addFluid(GeoObject *fluid) { void FluidSolver::init() { glm::vec3 size = _container->bound().dim(); glm::vec3 origin = (_container->bound().center() - size) / 2.f; - _cell_size = 4*particle_radius; _MAC = MACGrid >(origin, size, _cell_size); for (FluidParticle &particle : _particles) { @@ -85,6 +85,7 @@ void FluidSolver::transferVelocitiesToParticles() { float vel = interpolateAttribute(particle.pos, _MAC._gV); float oldVel = interpolateAttribute(particle.pos, _MAC._gV_old); particle.vel.y = vel*smooth + (particle.vel.y +(vel - oldVel))*(1.f-smooth); + //std::cout << particle.vel.y << std::endl; } for (FluidParticle &particle : _particles) { float vel = interpolateAttribute(particle.pos, _MAC._gW); @@ -94,9 +95,9 @@ void FluidSolver::transferVelocitiesToParticles() { } void FluidSolver::gravitySolve(float step) { - _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { - _MAC._gV(i, j, k) += g * step; - }); + for (FluidParticle &particle : _particles) { + particle.vel.y += g*step; + } } void FluidSolver::updateParticlePositions(float step) { @@ -110,6 +111,7 @@ void FluidSolver::resolveCollisions() { for (FluidParticle &particle : _particles) { glm::vec3 normal; if (_container->collides(particle.pos_old, particle.pos, normal)) { + //std::cout << glm::to_string(particle.pos_old) << "; " << glm::to_string(particle.pos) << std::endl; particle.col = glm::vec3(1,0,0); glm::vec3 mask = glm::vec3(1,1,1) - normal; particle.vel *= mask; @@ -140,30 +142,38 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, glm::vec3 gridPos = grid.positionOf(I,J,K); float totalDist = 0; - for (size_t i = I - cellRadius; i < I + cellRadius; i++) { - for (size_t j = J - cellRadius; j < J + cellRadius; j++) { - for (size_t k = K - cellRadius; k < K + cellRadius; k++) { - for (FluidParticle* particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - if (dist < radius) { - totalDist += dist; + size_t startI = MATHIFELSE(I - cellRadius, I, I == 0); + size_t startJ = MATHIFELSE(J - cellRadius, J, J == 0); + size_t startK = MATHIFELSE(K - cellRadius, K, K == 0); + for (size_t i = startI; i <= I + cellRadius; i++) { + for (size_t j = startJ; j <= J + cellRadius; j++) { + for (size_t k = startK; k <= K + cellRadius; k++) { + if (_MAC.checkIdx(i,j,k)) { + for (FluidParticle* particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + if (dist < radius) { + totalDist += dist; + } } } } } } + T temp; T gridVal = zeroVal; - for (size_t i = I - cellRadius; i < I + cellRadius; i++) { - for (size_t j = J - cellRadius; j < J + cellRadius; j++) { - for (size_t k = K - cellRadius; k < K + cellRadius; k++) { - for (FluidParticle* particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - if (dist < radius) { - void* address = (void*)particle + offset; - std::memcpy(&temp, address, attributeSize); - gridVal += temp * dist / totalDist; + for (size_t i = I - cellRadius; i <= I + cellRadius; i++) { + for (size_t j = J - cellRadius; j <= J + cellRadius; j++) { + for (size_t k = K - cellRadius; k <= K + cellRadius; k++) { + if (_MAC.checkIdx(i,j,k)) { + for (FluidParticle *particle : _MAC(i, j, k)) { + float dist = glm::distance(particle->pos, gridPos); + if (dist < radius) { + void *address = (void *) particle + offset; + std::memcpy(&temp, address, attributeSize); + gridVal += temp * dist / totalDist; + } } } } @@ -182,45 +192,98 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid size_t I = (size_t) ceil(idx.x); size_t J = (size_t) ceil(idx.y); size_t K = (size_t) ceil(idx.z); - - T k1 = (idx.z-k) / (K-k) * grid(i,j,k) + (K-idx.z) / (K-k) * grid(i,j,K); - T k2 = (idx.z-k) / (K-k) * grid(i,J,k) + (K-idx.z) / (K-k) * grid(i,J,K); - T k3 = (idx.z-k) / (K-k) * grid(I,j,k) + (K-idx.z) / (K-k) * grid(I,j,K); - T k4 = (idx.z-k) / (K-k) * grid(I,J,k) + (K-idx.z) / (K-k) * grid(I,J,K); - T j1 = (idx.y-j) / (J-j) * k1 + (J-idx.y) / (J-j) * k2; - T j2 = (idx.y-j) / (J-j) * k3 + (J-idx.y) / (J-j) * k4; + /*float divisor = 1.f; + if (K-k != 0.f) divisor = K-k; + T k1 = (idx.z-k) / divisor * grid(i,j,k) + (K-idx.z) / divisor * grid(i,j,K); + T k2 = (idx.z-k) / divisor * grid(i,J,k) + (K-idx.z) / divisor * grid(i,J,K); + T k3 = (idx.z-k) / divisor * grid(I,j,k) + (K-idx.z) / divisor * grid(I,j,K); + T k4 = (idx.z-k) / divisor * grid(I,J,k) + (K-idx.z) / divisor * grid(I,J,K); + + divisor = 1.f; + if (J-j != 0.f) divisor = J-j; + T j1 = (idx.y-j) / divisor * k1 + (J-idx.y) / divisor * k2; + T j2 = (idx.y-j) / divisor * k3 + (J-idx.y) / divisor * k4; + + divisor = 1.f; + if (I-i != 0.f) divisor = I-i; + T val = (idx.x-i) / divisor * j1 + (I-idx.x) / divisor * j2;*/ + + T k1, k2, k3, k4, j1, j2, val; + + /*if (k == K) { + k1 = grid(i,j,k); + k2 = grid(i,J,k); + k3 = grid(I,j,k); + k4 = grid(I,J,k); + } else { + k1 = (idx.z-k) * grid(i,j,k) + (K-idx.z) * grid(i,j,K); + k2 = (idx.z-k) * grid(i,J,k) + (K-idx.z) * grid(i,J,K); + k3 = (idx.z-k) * grid(I,j,k) + (K-idx.z) * grid(I,j,K); + k4 = (idx.z-k) * grid(I,J,k) + (K-idx.z) * grid(I,J,K); + } - return (idx.x-i) / (I-i) * j1 + (I-idx.x) / (I-i) * j2; + if (j == J) { + j1 = k1; + j2 = k3; + } else { + j1 = (idx.y-j) * k1 + (J-idx.y) * k2; + j2 = (idx.y-j) * k3 + (J-idx.y) * k4; + } + + if (i == I) { + val = j1; + } else { + val = (idx.x-i) * j1 + (I-idx.x) * j2; + }*/ + + k1 = MATHIFELSE((idx.z-k) * grid(i,j,k) + (K-idx.z) * grid(i,j,K), grid(i,j,k), k==K); + k2 = MATHIFELSE((idx.z-k) * grid(i,J,k) + (K-idx.z) * grid(i,J,K), grid(i,J,k), k==K); + k3 = MATHIFELSE((idx.z-k) * grid(I,j,k) + (K-idx.z) * grid(I,j,K), grid(I,j,k), k==K); + k4 = MATHIFELSE((idx.z-k) * grid(I,J,k) + (K-idx.z) * grid(i,J,K), grid(I,J,k), k==K); + + j1 = MATHIFELSE((idx.y-j) * k1 + (J-idx.y) * k2, k1, j==J); + j2 = MATHIFELSE((idx.y-j) * k3 + (J-idx.y) * k4, k3, j==J); + + val = MATHIFELSE((idx.x-i) * j1 + (I-idx.x) * j2, j1, i==I); + + return val; } void FluidSolver::update(float step) { + /*std::cout << "================PARTICLE COUNT===============" << std::endl; + _MAC.iterate([&](size_t i, size_t j, size_t k) { + std::cout << i << "," << j << "," << k << "; " << _MAC(i,j,k).size() << std::endl; + }); + projectVelocitiesToGrid(); - gravitySolve(step); + + std::cout << "================U VELOCITY===============" << std::endl; + _MAC._gU.iterate([&](size_t i, size_t j, size_t k) { + std::cout << i << "," << j << "," << k << "; " << _MAC._gU(i,j,k) << std::endl; + }); + std::cout << "================V VELOCITY===============" << std::endl; + _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { + std::cout << i << "," << j << "," << k << "; " << _MAC._gV(i,j,k) << std::endl; + }); + std::cout << "================W VELOCITY===============" << std::endl; + _MAC._gW.iterate([&](size_t i, size_t j, size_t k) { + std::cout << i << "," << j << "," << k << "; " << _MAC._gW(i,j,k) << std::endl; + });*/ + transferVelocitiesToParticles(); + + /*std::cout << "================PARTICLE VELOCITY===============" << std::endl; + for (FluidParticle &particle : _particles) { + std::cout << glm::to_string(particle.pos) << "; " << glm::to_string(particle.vel) << std::endl; + }*/ + + gravitySolve(step); updateParticlePositions(step); resolveCollisions(); updateCells(); -} - -void FluidSolver::presolve(float step) { - -} -void FluidSolver::solve(float step) { - std::vector tempParticles(_particles.size()); - for (unsigned int i = 0; i < _particles.size(); i++) { - tempParticles[i].vel = _particles[i].vel + glm::vec3(0, g * step, 0); - tempParticles[i].pos = _particles[i].pos + _particles[i].vel * step; - - if (_container->collides(_particles[i].pos, tempParticles[i].pos)) { - _particles[i].col = glm::vec3(1,0,0); - } - tempParticles[i].col = _particles[i].col; - } - swap(_particles, tempParticles); -} -void FluidSolver::postsolve(float step) { + frame++; } \ No newline at end of file diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index c432f8c2..92600a56 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -15,13 +15,12 @@ class FluidSolver { friend class ParticlesPainter; friend class ParticlesWriter; public: - FluidSolver(float particleSep); + FluidSolver(float particleSep, float gridSize); ~FluidSolver(); void setContainer(GeoObject* container); void addFluid(GeoObject* fluid); void init(); - void writeData(int frame); void projectVelocitiesToGrid(); void transferVelocitiesToParticles(); @@ -39,14 +38,11 @@ class FluidSolver { std::vector _particles; float particle_radius; float _cell_size; + int frame; template void particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal); template T interpolateAttribute(const glm::vec3 &pos, Grid &grid); - void presolve(float step); - void solve(float step); - void postsolve(float step); - static float g; }; diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index b42bfabb..adffa4ab 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -13,7 +13,8 @@ template Grid::~Grid() { } -template Grid::Grid(const glm::vec3 &offset, const glm::vec3 &dim, float size) : +template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size) : + _origin(origin), _offset(offset), _dim(dim), _cellSize(size), @@ -73,36 +74,36 @@ template const T& Grid::at(float x, float y, float z) const { } template T& Grid::at(const glm::vec3 &pos) { - glm::vec3 indices = (pos - _offset) / _cellSize; + glm::ivec3 indices = indexOf(pos); return this->operator()((size_t) indices.x, (size_t) indices.y, (size_t) indices.z); } template const T& Grid::at(const glm::vec3 &pos) const { - glm::vec3 indices = (pos - _offset) / _cellSize; + glm::ivec3 indices = indexOf(pos); return this->operator()((size_t) indices.x, (size_t) indices.y, (size_t) indices.z); } template glm::ivec3 Grid::indexOf(const glm::vec3 &pos) const { - glm::vec3 indices = (pos - _offset) / _cellSize; + glm::vec3 indices = (pos - _offset - _origin) / _cellSize; int i = (int) indices.x; int j = (int) indices.y; int k = (int) indices.z; - if (i >= _cellCount.x ) i = -1; - if (j >= _cellCount.y ) j = -1; - if (k >= _cellCount.z ) k = -1; - return glm::ivec3(i, j, k); + //if (i >= _cellCount.x ) i = -1; + //if (j >= _cellCount.y ) j = -1; + //if (k >= _cellCount.z ) k = -1; + return glm::clamp(glm::ivec3(i, j, k), glm::ivec3(0,0,0), _cellCount); } template glm::vec3 Grid::positionOf(const glm::ivec3 &idx) const { - return glm::vec3(idx.x * _cellSize, idx.y * _cellSize, idx.z * _cellSize) + _offset; + return glm::vec3(idx.x * _cellSize, idx.y * _cellSize, idx.z * _cellSize) + _offset + _origin; } template glm::vec3 Grid::positionOf(size_t i, size_t j, size_t k) const { - return glm::vec3(i * _cellSize, j * _cellSize, k * _cellSize) + _offset; + return glm::vec3(i * _cellSize, j * _cellSize, k * _cellSize) + _offset + _origin; } template glm::vec3 Grid::fractionalIndexOf(const glm::vec3 &pos) const { - return (pos - _offset) / _cellSize; + return glm::clamp((pos - _offset - _origin) / _cellSize, glm::vec3(0,0,0), glm::vec3(_cellCount)); } template glm::ivec3 Grid::toIJK(const std::size_t index) const { @@ -130,12 +131,22 @@ template void Grid::iterate(const std::function void Grid::clear(const T &zeroVal) { for (size_t i = 0; i < _contents.size(); i++) { _contents[i] = zeroVal; } } +template bool Grid::checkIdx(size_t i, size_t j, size_t k) const { + return i >= 0 && i < _cellCount.x && + j >= 0 && j < _cellCount.y && + k >= 0 && k < _cellCount.z; +} +template bool Grid::checkIdx(const glm::ivec3 &idx) const { + return checkIdx((size_t) idx.x, (size_t) idx.y, (size_t) idx.z); +} + template class Grid; diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 5487b8ae..c7ba4bb5 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -12,7 +12,7 @@ template class Grid { public: Grid(); - Grid(const glm::vec3 &offset, const glm::vec3 &dim, float size); + Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size); T& operator()(std::size_t idx); const T& operator()(std::size_t idx) const; @@ -42,10 +42,14 @@ template class Grid { void iterate(const std::function &cb); void clear(const T &zeroVal); + bool checkIdx(size_t i, size_t j, size_t k) const; + bool checkIdx(const glm::ivec3 &idx) const; + virtual ~Grid(); private: std::vector _contents; + glm::vec3 _origin; glm::vec3 _offset; glm::vec3 _dim; float _cellSize; diff --git a/core/solver/grid/MACGrid.cpp b/core/solver/grid/MACGrid.cpp index 6a2a34ed..8504ed84 100644 --- a/core/solver/grid/MACGrid.cpp +++ b/core/solver/grid/MACGrid.cpp @@ -14,14 +14,14 @@ template MACGrid::~MACGrid() { } template MACGrid::MACGrid(const glm::vec3 &origin, const glm::vec3 &dim, float size) : - Grid(origin, dim, size), - _gU(Grid(size*glm::vec3(0.0f,0.5f,0.5f) + origin, dim, size)), - _gV(Grid(size*glm::vec3(0.5f,0.0f,0.5f) + origin, dim, size)), - _gW(Grid(size*glm::vec3(0.5f,0.5f,0.0f) + origin, dim, size)), - _gU_old(Grid(size*glm::vec3(0.0f,0.5f,0.5f) + origin, dim, size)), - _gV_old(Grid(size*glm::vec3(0.5f,0.0f,0.5f) + origin, dim, size)), - _gW_old(Grid(size*glm::vec3(0.5f,0.5f,0.0f) + origin, dim, size)), - _gP(Grid(size*glm::vec3(0.5f,0.5f,0.5f) + origin, dim, size)) { + Grid(origin, glm::vec3(0,0,0), dim, size), + _gU(Grid(origin, size*glm::vec3(0.0f,0.5f,0.5f), dim, size)), + _gV(Grid(origin, size*glm::vec3(0.5f,0.0f,0.5f), dim, size)), + _gW(Grid(origin, size*glm::vec3(0.5f,0.5f,0.0f), dim, size)), + _gU_old(Grid(origin, size*glm::vec3(0.0f,0.5f,0.5f), dim, size)), + _gV_old(Grid(origin, size*glm::vec3(0.5f,0.0f,0.5f), dim, size)), + _gW_old(Grid(origin, size*glm::vec3(0.5f,0.5f,0.0f), dim, size)), + _gP(Grid(origin, size*glm::vec3(0.5f,0.5f,0.5f), dim, size)) { } diff --git a/core/util/hacks.h b/core/util/hacks.h new file mode 100644 index 00000000..0b2de0b4 --- /dev/null +++ b/core/util/hacks.h @@ -0,0 +1,10 @@ +// +// Created by austin on 3/21/16. +// + +#ifndef FLUIDSOLVER_HACKS_H +#define FLUIDSOLVER_HACKS_H + +#define MATHIFELSE(expr1, expr2, cond) ( (expr1)*(1-(cond)) + (expr2)*(cond) ) + +#endif //FLUIDSOLVER_HACKS_H diff --git a/core/util/math.h b/core/util/math.h index adaca2a3..c0bcf7f8 100644 --- a/core/util/math.h +++ b/core/util/math.h @@ -10,6 +10,7 @@ #include #include #include +#include static const float PI = 3.14159265358979323846f; static const float TWO_PI = 2 * PI; diff --git a/main.cpp b/main.cpp index 14ad309b..d4687c4a 100644 --- a/main.cpp +++ b/main.cpp @@ -11,7 +11,7 @@ int main(int argc, char* argv[]) { solver->init(); ParticlesWriter particlesWriter; - particlesWriter.writeData(solver, "particles_0.vdb"); + //particlesWriter.writeData(solver, "particles_0.vdb"); ParticlesPainter particlesPainter(solver); BoxPainter boxPainter((Box *) solver->_container); @@ -27,6 +27,9 @@ int main(int argc, char* argv[]) { int framerate = 24; double start = glfwGetTime(); int frame = 0; + //solver->update(0.01); + //solver->update(0.01); + //solver->update(0.01); window->initloop([&]() { double now = glfwGetTime(); float duration = (float) (now - start); @@ -40,9 +43,10 @@ int main(int argc, char* argv[]) { std::string filename = "particles_"; filename.append(std::to_string(++frame)); filename.append(".vdb"); - particlesWriter.writeData(solver, filename); + //particlesWriter.writeData(solver, filename); } }); + delete window; return 0; From 24aa8f1ba2565c9243e476c6f53610cd7df8b033 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Tue, 22 Mar 2016 03:43:10 -0400 Subject: [PATCH 13/29] fixed more bugs --- CMakeLists.txt | 2 +- core/camera/Camera.cpp | 7 +- .../display/painters/GridAttributePainter.cpp | 5 -- core/display/painters/GridAttributePainter.h | 14 ---- .../painters/GridVectorAttributePainter.cpp | 82 +++++++++++++++++++ .../painters/GridVectorAttributePainter.h | 36 ++++++++ core/display/painters/ParticlesPainter.cpp | 2 +- core/display/shaders/gridAttr.frag.h | 19 +++++ core/display/shaders/gridAttr.geo.h | 32 ++++++++ core/display/shaders/gridAttr.vert.h | 31 +++++++ core/display/shaders/particle.frag.h | 6 +- core/display/shaders/particle.vert.h | 7 +- core/scenes/default.h | 8 +- core/solver/FluidSolver.cpp | 71 ++++------------ core/solver/grid/Grid.cpp | 19 ++++- core/solver/grid/Grid.h | 2 +- main.cpp | 7 ++ 17 files changed, 267 insertions(+), 83 deletions(-) delete mode 100644 core/display/painters/GridAttributePainter.cpp delete mode 100644 core/display/painters/GridAttributePainter.h create mode 100644 core/display/painters/GridVectorAttributePainter.cpp create mode 100644 core/display/painters/GridVectorAttributePainter.h create mode 100644 core/display/shaders/gridAttr.frag.h create mode 100644 core/display/shaders/gridAttr.geo.h create mode 100644 core/display/shaders/gridAttr.vert.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c02d0d6..022ce423 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridAttributePainter.cpp core/display/painters/GridAttributePainter.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridVectorAttributePainter.cpp core/display/painters/GridVectorAttributePainter.h core/display/shaders/gridAttr.geo.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp index ee864cad..2b98247c 100644 --- a/core/camera/Camera.cpp +++ b/core/camera/Camera.cpp @@ -5,7 +5,7 @@ #include "Camera.h" Camera::Camera(int w, int h) : - zoom(10), + zoom(25), eye(glm::vec3(0,0,zoom)), tgt(glm::vec3(0,0,0)), width(w), @@ -18,6 +18,11 @@ Camera::Camera(int w, int h) : right(glm::cross(look, world_up)), up(glm::cross(right, look)), rotation(glm::mat4(1.f)) { + + rotation = glm::rotate(rotation, -PI/6, glm::vec3(1,0,0)); + rotation = glm::rotate(rotation, -PI/4, glm::vec3(0,1,0)); + + recomputeEye(); recompute(); } diff --git a/core/display/painters/GridAttributePainter.cpp b/core/display/painters/GridAttributePainter.cpp deleted file mode 100644 index 22b1009e..00000000 --- a/core/display/painters/GridAttributePainter.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// -// Created by austin on 3/22/16. -// - -#include "GridAttributePainter.h" diff --git a/core/display/painters/GridAttributePainter.h b/core/display/painters/GridAttributePainter.h deleted file mode 100644 index f3e46afc..00000000 --- a/core/display/painters/GridAttributePainter.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// Created by austin on 3/22/16. -// - -#ifndef FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H -#define FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H - - -class GridAttributePainter { - -}; - - -#endif //FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H diff --git a/core/display/painters/GridVectorAttributePainter.cpp b/core/display/painters/GridVectorAttributePainter.cpp new file mode 100644 index 00000000..1416533a --- /dev/null +++ b/core/display/painters/GridVectorAttributePainter.cpp @@ -0,0 +1,82 @@ +// +// Created by austin on 3/22/16. +// + +#include "GridVectorAttributePainter.h" +#include +#include +#include + +GridVectorAttributePainter::GridVectorAttributePainter(Grid *grid, + float ptSize, + const glm::vec3 &color, + const glm::vec3 &dir) : + _ptSize(ptSize), _attributes(&grid->_contents) { + MAX_ATTRIBUTES = (unsigned int) _attributes->size(); + + std::vector indices; + for (int i = 0; i < _attributes->size(); i++) { + indices.push_back(i); + } + + // compile shaders + GLuint gridAttrVert = compileShader(gridAttr_vert, GL_VERTEX_SHADER); + GLuint gridAttrGeo = compileShader(gridAttr_geo, GL_GEOMETRY_SHADER); + GLuint gridAttrFrag = compileShader(gridAttr_frag, GL_FRAGMENT_SHADER); + + std::vector programs = {gridAttrVert, gridAttrGeo, gridAttrFrag}; + prog = makeProgram(programs); + + // setup shader locations + unifViewProj = glGetUniformLocation(prog, "u_viewProj"); + attrData = glGetAttribLocation(prog, "v_data"); + unifCol = glGetUniformLocation(prog, "u_col"); + unifCellSize = glGetUniformLocation(prog, "u_cellSize"); + unifCellCount = glGetUniformLocation(prog, "u_cellCount"); + unifOrigin = glGetUniformLocation(prog, "u_origin"); + unifVec = glGetUniformLocation(prog, "u_vec"); + + // make a buffer for the indices + glGenBuffers(1, &index_buffer); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(int), indices.data(), GL_STATIC_DRAW); + + // make a buffer for the attributes + glGenBuffers(1, &attribute_buffer); + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(float), NULL, GL_STREAM_DRAW); + + // set grid uniforms + glUseProgram(prog); + glUniform1f(unifCellSize, grid->_cellSize); + glUniform3iv(unifCellCount, 1, &(grid->_cellCount.x)); + glm::vec3 o = grid->_origin + grid->_offset; + glUniform3fv(unifOrigin, 1, &(o[0])); + glUniform3fv(unifCol, 1, &(color[0])); + glUniform3fv(unifVec, 1, &(dir[0])); +} + +void GridVectorAttributePainter::draw() const { + if (_attributes != nullptr) { + glUseProgram(prog); + + // bind and send new data + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(float), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, MAX_ATTRIBUTES * sizeof(float), _attributes->data()); + + glEnableVertexAttribArray(attrData); + glVertexAttribPointer(attrData, 1, GL_FLOAT, GL_FALSE, sizeof(float), (void*)0); + + glPointSize(_ptSize); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glDrawElements(GL_POINTS, _attributes->size(), GL_UNSIGNED_INT, 0); + + glDisableVertexAttribArray(attrData); + } +} + +void GridVectorAttributePainter::setViewProj(const float *viewProj) { + glUseProgram(prog); + glUniformMatrix4fv(unifViewProj, 1, GL_FALSE, viewProj); +} diff --git a/core/display/painters/GridVectorAttributePainter.h b/core/display/painters/GridVectorAttributePainter.h new file mode 100644 index 00000000..68042ddd --- /dev/null +++ b/core/display/painters/GridVectorAttributePainter.h @@ -0,0 +1,36 @@ +// +// Created by austin on 3/22/16. +// + +#ifndef FLUIDSOLVER_GRIDVECTORATTRIBUTEPAINTER_H +#define FLUIDSOLVER_GRIDVECTORATTRIBUTEPAINTER_H + +#include "Painter.h" +#include + +class GridVectorAttributePainter : public Painter { +public: + explicit GridVectorAttributePainter(Grid* grid, float ptSize, const glm::vec3 &color, const glm::vec3 &dir); + virtual void draw() const; + virtual void setViewProj(const float* viewProj); + +private: + unsigned int MAX_ATTRIBUTES = 10000; + GLuint index_buffer; + GLuint attribute_buffer; + + GLint unifViewProj; + GLint attrIndex; + GLint attrData; + GLint unifCol; + GLint unifCellSize; + GLint unifCellCount; + GLint unifOrigin; + GLint unifVec; + + GLfloat _ptSize; + std::vector* _attributes; +}; + + +#endif //FLUIDSOLVER_GRIDATTRIBUTEPAINTER_H diff --git a/core/display/painters/ParticlesPainter.cpp b/core/display/painters/ParticlesPainter.cpp index 1729abbf..fc7bbac2 100644 --- a/core/display/painters/ParticlesPainter.cpp +++ b/core/display/painters/ParticlesPainter.cpp @@ -7,7 +7,7 @@ #include ParticlesPainter::ParticlesPainter(FluidSolver* solver, float ptSize) : _ptSize(ptSize), _particles(&solver->_particles) { - MAX_PARTICLES = _particles->size(); + MAX_PARTICLES = (unsigned int) _particles->size(); // compile shaders GLuint particleVert = compileShader(particle_vert, GL_VERTEX_SHADER); diff --git a/core/display/shaders/gridAttr.frag.h b/core/display/shaders/gridAttr.frag.h new file mode 100644 index 00000000..9c6910aa --- /dev/null +++ b/core/display/shaders/gridAttr.frag.h @@ -0,0 +1,19 @@ +// +// Created by austin on 2/28/16. +// + +#ifndef FLUIDSOLVER_GRIDATTR_FRAG_H +#define FLUIDSOLVER_GRIDATTR_FRAG_H + +const char* gridAttr_frag = R"( +#version 150 + +uniform vec3 u_col; +out vec4 out_Col; +in float f_scale; + +void main() { + out_Col = vec4(f_scale*u_col.rgb, 1); +} +)"; +#endif \ No newline at end of file diff --git a/core/display/shaders/gridAttr.geo.h b/core/display/shaders/gridAttr.geo.h new file mode 100644 index 00000000..b17c128b --- /dev/null +++ b/core/display/shaders/gridAttr.geo.h @@ -0,0 +1,32 @@ +// +// Created by austin on 3/22/16. +// + +#ifndef FLUIDSOLVER_GRIDATTR_GEO_H +#define FLUIDSOLVER_GRIDATTR_GEO_H + +const char* gridAttr_geo = R"( +#version 150 + +layout(points) in; +layout(line_strip, max_vertices = 2) out; + +uniform mat4 u_viewProj; +uniform vec3 u_vec; + +in float g_data[]; +out float f_scale; + +void main() { + f_scale = abs(g_data[0]); + + gl_Position = u_viewProj * gl_in[0].gl_Position; + EmitVertex(); + + gl_Position = u_viewProj * (gl_in[0].gl_Position + g_data[0]*vec4(u_vec, 0)); + EmitVertex(); + EndPrimitive(); +} +)"; + +#endif //FLUIDSOLVER_GRIDATTR_GEO_H diff --git a/core/display/shaders/gridAttr.vert.h b/core/display/shaders/gridAttr.vert.h new file mode 100644 index 00000000..377e2e64 --- /dev/null +++ b/core/display/shaders/gridAttr.vert.h @@ -0,0 +1,31 @@ +// +// Created by austin on 2/28/16. +// + +#ifndef FLUIDSOLVER_GRIDATTR_VERT_H +#define FLUIDSOLVER_GRIDATTR_VERT_H + +const char* gridAttr_vert = R"( +#version 150 + +uniform float u_cellSize; +uniform ivec3 u_cellCount; +uniform vec3 u_origin; + +in float v_data; +out float g_data; + +void main() { + g_data = v_data; + + int i = int(mod(gl_VertexID, u_cellCount.z)); + int j = int(mod(gl_VertexID / u_cellCount.z, u_cellCount.y)); + int k = int(gl_VertexID / (u_cellCount.y * u_cellCount.z)); + + vec3 pos = vec3(float(i), float(j), float(k)) * u_cellSize + u_origin; + + gl_Position = vec4(pos, 1); +} +)"; + +#endif \ No newline at end of file diff --git a/core/display/shaders/particle.frag.h b/core/display/shaders/particle.frag.h index fad22c76..2778c4c0 100644 --- a/core/display/shaders/particle.frag.h +++ b/core/display/shaders/particle.frag.h @@ -2,6 +2,9 @@ // Created by austin on 2/28/16. // +#ifndef FLUIDSOLVER_PARTICLE_FRAG_H +#define FLUIDSOLVER_PARTICLE_FRAG_H + const char* particle_frag = R"( #version 150 @@ -11,4 +14,5 @@ out vec4 out_Col; void main() { out_Col = vec4(f_col.rgb, 1); } -)"; \ No newline at end of file +)"; +#endif \ No newline at end of file diff --git a/core/display/shaders/particle.vert.h b/core/display/shaders/particle.vert.h index ad77d862..92b6cd42 100644 --- a/core/display/shaders/particle.vert.h +++ b/core/display/shaders/particle.vert.h @@ -2,6 +2,9 @@ // Created by austin on 2/28/16. // +#ifndef FLUIDSOLVER_PARTICLE_VERT_H +#define FLUIDSOLVER_PARTICLE_VERT_H + const char* particle_vert = R"( #version 150 @@ -17,4 +20,6 @@ void main() { f_col = v_col; gl_Position = u_viewProj * vec4(v_pos, 1); } -)"; \ No newline at end of file +)"; + +#endif \ No newline at end of file diff --git a/core/scenes/default.h b/core/scenes/default.h index 6f678ccc..bdd82796 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -6,12 +6,12 @@ const char* default_scene = R"( { "containerDim" : { "position": [0, 0, 0], - "scale" : [1, 2, 1] + "scale" : [10, 20, 10] }, "particleDim" : { - "position": [0, 0, 0], - "scale" : [1, 1, 1] + "position": [0, 5, 0], + "scale" : [10, 10, 10] }, - "resolution" : 4 + "resolution" : 20 }; )"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index b8961c34..c65f28ad 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -69,9 +69,9 @@ void FluidSolver::projectVelocitiesToGrid() { _MAC._gU_old = _MAC._gU; _MAC._gV_old = _MAC._gV; _MAC._gW_old = _MAC._gW; - particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); + //particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); - particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); + //particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); } void FluidSolver::transferVelocitiesToParticles() { @@ -126,11 +126,12 @@ void FluidSolver::updateCells() { }); for (FluidParticle &particle : _particles) { particle.cell = _MAC.indexOf(particle.pos); - if (particle.cell.x < 0 || particle.cell.y < 0 || particle.cell.z < 0) { - std::cerr << "particle out of bounds" << std::endl; - } else { + if (_MAC.checkIdx(particle.cell)) { _MAC(particle.cell).push_back(&particle); + } else { + //std::cerr << "particle out of bounds" << std::endl; } + } } @@ -139,12 +140,14 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); grid.iterate([&](size_t I, size_t J, size_t K) { + glm::vec3 gridPos = grid.positionOf(I,J,K); float totalDist = 0; size_t startI = MATHIFELSE(I - cellRadius, I, I == 0); size_t startJ = MATHIFELSE(J - cellRadius, J, J == 0); size_t startK = MATHIFELSE(K - cellRadius, K, K == 0); + for (size_t i = startI; i <= I + cellRadius; i++) { for (size_t j = startJ; j <= J + cellRadius; j++) { for (size_t k = startK; k <= K + cellRadius; k++) { @@ -160,14 +163,19 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, } } + if (totalDist == 0) { + grid(I,J,K) = zeroVal; + return; + } + T temp; T gridVal = zeroVal; - for (size_t i = I - cellRadius; i <= I + cellRadius; i++) { - for (size_t j = J - cellRadius; j <= J + cellRadius; j++) { - for (size_t k = K - cellRadius; k <= K + cellRadius; k++) { - if (_MAC.checkIdx(i,j,k)) { - for (FluidParticle *particle : _MAC(i, j, k)) { + for (size_t i = startI; i <= I + cellRadius; i++) { + for (size_t j = startJ; j <= J + cellRadius; j++) { + for (size_t k = startK; k <= K + cellRadius; k++) { + if (_MAC.checkIdx(i, j, k)) { + for (FluidParticle *particle : _MAC(i,j,k)) { float dist = glm::distance(particle->pos, gridPos); if (dist < radius) { void *address = (void *) particle + offset; @@ -193,22 +201,6 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid size_t J = (size_t) ceil(idx.y); size_t K = (size_t) ceil(idx.z); - /*float divisor = 1.f; - if (K-k != 0.f) divisor = K-k; - T k1 = (idx.z-k) / divisor * grid(i,j,k) + (K-idx.z) / divisor * grid(i,j,K); - T k2 = (idx.z-k) / divisor * grid(i,J,k) + (K-idx.z) / divisor * grid(i,J,K); - T k3 = (idx.z-k) / divisor * grid(I,j,k) + (K-idx.z) / divisor * grid(I,j,K); - T k4 = (idx.z-k) / divisor * grid(I,J,k) + (K-idx.z) / divisor * grid(I,J,K); - - divisor = 1.f; - if (J-j != 0.f) divisor = J-j; - T j1 = (idx.y-j) / divisor * k1 + (J-idx.y) / divisor * k2; - T j2 = (idx.y-j) / divisor * k3 + (J-idx.y) / divisor * k4; - - divisor = 1.f; - if (I-i != 0.f) divisor = I-i; - T val = (idx.x-i) / divisor * j1 + (I-idx.x) / divisor * j2;*/ - T k1, k2, k3, k4, j1, j2, val; /*if (k == K) { @@ -251,39 +243,12 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid } void FluidSolver::update(float step) { - /*std::cout << "================PARTICLE COUNT===============" << std::endl; - _MAC.iterate([&](size_t i, size_t j, size_t k) { - std::cout << i << "," << j << "," << k << "; " << _MAC(i,j,k).size() << std::endl; - }); - projectVelocitiesToGrid(); - - std::cout << "================U VELOCITY===============" << std::endl; - _MAC._gU.iterate([&](size_t i, size_t j, size_t k) { - std::cout << i << "," << j << "," << k << "; " << _MAC._gU(i,j,k) << std::endl; - }); - std::cout << "================V VELOCITY===============" << std::endl; - _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { - std::cout << i << "," << j << "," << k << "; " << _MAC._gV(i,j,k) << std::endl; - }); - std::cout << "================W VELOCITY===============" << std::endl; - _MAC._gW.iterate([&](size_t i, size_t j, size_t k) { - std::cout << i << "," << j << "," << k << "; " << _MAC._gW(i,j,k) << std::endl; - });*/ - transferVelocitiesToParticles(); - - /*std::cout << "================PARTICLE VELOCITY===============" << std::endl; - for (FluidParticle &particle : _particles) { - std::cout << glm::to_string(particle.pos) << "; " << glm::to_string(particle.vel) << std::endl; - }*/ - gravitySolve(step); updateParticlePositions(step); resolveCollisions(); updateCells(); - - frame++; } \ No newline at end of file diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index adffa4ab..e91b54f8 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -108,7 +108,7 @@ template glm::vec3 Grid::fractionalIndexOf(const glm::vec3 &pos) template glm::ivec3 Grid::toIJK(const std::size_t index) const { int i = (int) (index % _cellCount.z); - int j = (int) ((index / _cellCount.z) & _cellCount.y); + int j = (int) ((index / _cellCount.z) % _cellCount.y); int k = (int) (index / (_cellCount.y * _cellCount.z)); return glm::ivec3(i,j,k); } @@ -148,6 +148,23 @@ template bool Grid::checkIdx(const glm::ivec3 &idx) const { } +//template GridIterator::GridIterator(const Grid &grid) : _grid(&grid), _iter(0) { +// +//} +// +//template bool GridIterator::hasNext() { +// return _iter < _grid->_contents.size(); +//} +// +//template void GridIterator::next(size_t &i, size_t &j, size_t &k) { +// i = (_iter % _grid->_cellCount.z); +// j = ((_iter / _grid->_cellCount.z) % _grid->_cellCount.y); +// k = (_iter / (_grid->_cellCount.y * _grid->_cellCount.z)); +// ++_iter; +//} + + template class Grid; template class Grid > >; +//template class GridIterator; \ No newline at end of file diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index c7ba4bb5..05d9902b 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -10,6 +10,7 @@ #include template class Grid { + friend class GridVectorAttributePainter; public: Grid(); Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size); @@ -56,5 +57,4 @@ template class Grid { glm::ivec3 _cellCount; }; - #endif //FLUIDSOLVER_GRID_H diff --git a/main.cpp b/main.cpp index d4687c4a..eb0149b9 100644 --- a/main.cpp +++ b/main.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include int main(int argc, char* argv[]) { @@ -15,9 +16,15 @@ int main(int argc, char* argv[]) { ParticlesPainter particlesPainter(solver); BoxPainter boxPainter((Box *) solver->_container); + GridVectorAttributePainter uPainter (&solver->_MAC._gU, 3.f, glm::vec3(1,0,0), glm::vec3(0.1,0,0)); + GridVectorAttributePainter vPainter (&solver->_MAC._gV, 3.f, glm::vec3(0,1,0), glm::vec3(0,0.1,0)); + GridVectorAttributePainter wPainter (&solver->_MAC._gW, 3.f, glm::vec3(0,0,1), glm::vec3(0,0,0.1)); window->addPainter(&particlesPainter); window->addPainter(&boxPainter); + window->addPainter(&uPainter); + window->addPainter(&vPainter); + window->addPainter(&wPainter); window->loadSceneCB = [](void*) { std::cout << "what" << std::endl; From 65d29eab7ad1854c25134e8e388439beecddfd9a Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Tue, 22 Mar 2016 05:30:42 -0400 Subject: [PATCH 14/29] parallelization --- CMakeLists.txt | 2 +- core/camera/Camera.cpp | 2 +- core/fileIO/ParticlesWriter.cpp | 2 +- core/fileIO/ParticlesWriter.h | 3 - core/solver/FluidSolver.cpp | 106 +++++++++++++++++++++++++++----- core/solver/grid/Grid.cpp | 60 ++++++++++-------- core/solver/grid/Grid.h | 6 ++ core/util/flags.h | 10 +++ main.cpp | 9 ++- 9 files changed, 148 insertions(+), 52 deletions(-) create mode 100644 core/util/flags.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 022ce423..408428e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridVectorAttributePainter.cpp core/display/painters/GridVectorAttributePainter.h core/display/shaders/gridAttr.geo.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridVectorAttributePainter.cpp core/display/painters/GridVectorAttributePainter.h core/display/shaders/gridAttr.geo.h core/util/flags.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp index 2b98247c..827f90a8 100644 --- a/core/camera/Camera.cpp +++ b/core/camera/Camera.cpp @@ -19,7 +19,7 @@ Camera::Camera(int w, int h) : up(glm::cross(right, look)), rotation(glm::mat4(1.f)) { - rotation = glm::rotate(rotation, -PI/6, glm::vec3(1,0,0)); + rotation = glm::rotate(rotation, -PI/4, glm::vec3(1,0,0)); rotation = glm::rotate(rotation, -PI/4, glm::vec3(0,1,0)); recomputeEye(); diff --git a/core/fileIO/ParticlesWriter.cpp b/core/fileIO/ParticlesWriter.cpp index bc1c8e6e..208e80b1 100644 --- a/core/fileIO/ParticlesWriter.cpp +++ b/core/fileIO/ParticlesWriter.cpp @@ -6,7 +6,6 @@ ParticlesWriter::ParticlesWriter() { openvdb::initialize(); - grid = openvdb::FloatGrid::create(); } ParticlesWriter::~ParticlesWriter() { @@ -14,6 +13,7 @@ ParticlesWriter::~ParticlesWriter() { } void ParticlesWriter::writeData(const FluidSolver* const solver, const std::string &filename) { + openvdb::FloatGrid::Ptr grid = openvdb::FloatGrid::create(); openvdb::FloatGrid::Accessor accessor = grid->getAccessor(); openvdb::Coord xyz(0, 0, 0); diff --git a/core/fileIO/ParticlesWriter.h b/core/fileIO/ParticlesWriter.h index 220d6d43..b21c9e94 100644 --- a/core/fileIO/ParticlesWriter.h +++ b/core/fileIO/ParticlesWriter.h @@ -15,9 +15,6 @@ class ParticlesWriter { ~ParticlesWriter(); void writeData(const FluidSolver* const solver, const std::string &filename); - -private: - openvdb::FloatGrid::Ptr grid; }; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index c65f28ad..33aa5461 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -5,6 +5,8 @@ #include #include "FluidSolver.h" #include +#include +#include float FluidSolver::g = -9.80665f; @@ -69,13 +71,51 @@ void FluidSolver::projectVelocitiesToGrid() { _MAC._gU_old = _MAC._gU; _MAC._gV_old = _MAC._gV; _MAC._gW_old = _MAC._gW; - //particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); + particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); - //particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); + particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); } void FluidSolver::transferVelocitiesToParticles() { float smooth = 1.f; + +#ifdef USETBB + tbb::parallel_invoke( + [&]() { + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), + [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + float vel = interpolateAttribute(particle.pos, _MAC._gU); + float oldVel = interpolateAttribute(particle.pos, _MAC._gU_old); + particle.vel.x = vel*smooth + (particle.vel.x +(vel - oldVel))*(1.f-smooth); + } + }); + }, + [&]() { + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), + [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + float vel = interpolateAttribute(particle.pos, _MAC._gV); + float oldVel = interpolateAttribute(particle.pos, _MAC._gV_old); + particle.vel.y = vel*smooth + (particle.vel.y +(vel - oldVel))*(1.f-smooth); + } + }); + }, + [&]() { + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), + [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + float vel = interpolateAttribute(particle.pos, _MAC._gW); + float oldVel = interpolateAttribute(particle.pos, _MAC._gW_old); + particle.vel.z = vel*smooth + (particle.vel.z +(vel - oldVel))*(1.f-smooth); + } + }); + } + ); +#else for (FluidParticle &particle : _particles) { float vel = interpolateAttribute(particle.pos, _MAC._gU); float oldVel = interpolateAttribute(particle.pos, _MAC._gU_old); @@ -85,45 +125,78 @@ void FluidSolver::transferVelocitiesToParticles() { float vel = interpolateAttribute(particle.pos, _MAC._gV); float oldVel = interpolateAttribute(particle.pos, _MAC._gV_old); particle.vel.y = vel*smooth + (particle.vel.y +(vel - oldVel))*(1.f-smooth); - //std::cout << particle.vel.y << std::endl; } for (FluidParticle &particle : _particles) { float vel = interpolateAttribute(particle.pos, _MAC._gW); float oldVel = interpolateAttribute(particle.pos, _MAC._gW_old); particle.vel.z = vel*smooth + (particle.vel.z +(vel - oldVel))*(1.f-smooth); } +#endif } void FluidSolver::gravitySolve(float step) { +#ifdef USETBB + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + particle.vel.y += g*step; + } + }); +#else for (FluidParticle &particle : _particles) { particle.vel.y += g*step; } +#endif } void FluidSolver::updateParticlePositions(float step) { + +#ifdef USETBB + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + particle.pos_old = particle.pos; + particle.pos += particle.vel * step; + } + }); +#else for (FluidParticle &particle : _particles) { particle.pos_old = particle.pos; particle.pos += particle.vel * step; } +#endif } void FluidSolver::resolveCollisions() { + +#ifdef USETBB + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + glm::vec3 normal; + if (_container->collides(particle.pos_old, particle.pos, normal)) { + particle.col = glm::vec3(1,0,0); + glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); + particle.vel *= mask; + particle.pos = particle.pos_old; + } + } + }); +#else for (FluidParticle &particle : _particles) { glm::vec3 normal; if (_container->collides(particle.pos_old, particle.pos, normal)) { - //std::cout << glm::to_string(particle.pos_old) << "; " << glm::to_string(particle.pos) << std::endl; particle.col = glm::vec3(1,0,0); - glm::vec3 mask = glm::vec3(1,1,1) - normal; + glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); particle.vel *= mask; particle.pos = particle.pos_old; } } +#endif } void FluidSolver::updateCells() { - _MAC.iterate([&](size_t i, size_t j, size_t k) { - _MAC(i,j,k).clear(); - }); + for (FluidParticle &particle : _particles) { particle.cell = _MAC.indexOf(particle.pos); if (_MAC.checkIdx(particle.cell)) { @@ -133,6 +206,7 @@ void FluidSolver::updateCells() { } } + } template void FluidSolver::particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal) { @@ -168,7 +242,6 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, return; } - T temp; T gridVal = zeroVal; for (size_t i = startI; i <= I + cellRadius; i++) { @@ -229,15 +302,16 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid val = (idx.x-i) * j1 + (I-idx.x) * j2; }*/ - k1 = MATHIFELSE((idx.z-k) * grid(i,j,k) + (K-idx.z) * grid(i,j,K), grid(i,j,k), k==K); - k2 = MATHIFELSE((idx.z-k) * grid(i,J,k) + (K-idx.z) * grid(i,J,K), grid(i,J,k), k==K); - k3 = MATHIFELSE((idx.z-k) * grid(I,j,k) + (K-idx.z) * grid(I,j,K), grid(I,j,k), k==K); - k4 = MATHIFELSE((idx.z-k) * grid(I,J,k) + (K-idx.z) * grid(i,J,K), grid(I,J,k), k==K); + // this is reverse from what is expected because we want smaller value (closer distance) to have larger influence + k1 = MATHIFELSE((K-idx.z) * grid(i,j,k) + (idx.z-k) * grid(i,j,K), grid(i,j,k), k==K); + k2 = MATHIFELSE((K-idx.z) * grid(i,J,k) + (idx.z-k) * grid(i,J,K), grid(i,J,k), k==K); + k3 = MATHIFELSE((K-idx.z) * grid(I,j,k) + (idx.z-k) * grid(I,j,K), grid(I,j,k), k==K); + k4 = MATHIFELSE((K-idx.z) * grid(I,J,k) + (idx.z-k) * grid(i,J,K), grid(I,J,k), k==K); - j1 = MATHIFELSE((idx.y-j) * k1 + (J-idx.y) * k2, k1, j==J); - j2 = MATHIFELSE((idx.y-j) * k3 + (J-idx.y) * k4, k3, j==J); + j1 = MATHIFELSE((J-idx.y) * k1 + (idx.y-j) * k2, k1, j==J); + j2 = MATHIFELSE((J-idx.y) * k3 + (idx.y-j) * k4, k3, j==J); - val = MATHIFELSE((idx.x-i) * j1 + (I-idx.x) * j2, j1, i==I); + val = MATHIFELSE((I-idx.x) * j1 + (idx.x-i) * j2, j1, i==I); return val; } diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index e91b54f8..ed8c7f49 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -5,6 +5,8 @@ #include "Grid.h" #include +#include + template Grid::Grid() { } @@ -122,20 +124,46 @@ template std::size_t Grid::fromIJK(const glm::ivec3 &ijk) const } template void Grid::iterate(const std::function &cb) { - for (size_t i = 0; i < _cellCount.x; i++) { - for (size_t j = 0; j < _cellCount.y; j++) { - for (size_t k = 0; k < _cellCount.z; k++) { - cb(i,j,k); - } - } +#ifdef USETBB + parallel_iterate(cb); +#else + serial_iterate(cb); +#endif +} + + +template void Grid::serial_iterate(const std::function &cb) { + for (size_t idx = 0; idx < _contents.size(); idx++) { + glm::ivec3 ijk = toIJK(idx); + cb(ijk.x, ijk.y, ijk.z); } } +#ifdef USETBB +template void Grid::parallel_iterate(const std::function &cb) { + tbb::parallel_for(tbb::blocked_range(0, _contents.size()), [&](const tbb::blocked_range& r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + glm::ivec3 ijk = toIJK(i); + cb(ijk.x, ijk.y, ijk.z); + } + }); +} +#endif + + template void Grid::clear(const T &zeroVal) { +#ifdef USETBB + tbb::parallel_for(tbb::blocked_range(0, _contents.size()), [&](const tbb::blocked_range& r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + _contents[i] = zeroVal; + } + }); +#else for (size_t i = 0; i < _contents.size(); i++) { _contents[i] = zeroVal; } +#endif } template bool Grid::checkIdx(size_t i, size_t j, size_t k) const { @@ -148,23 +176,5 @@ template bool Grid::checkIdx(const glm::ivec3 &idx) const { } -//template GridIterator::GridIterator(const Grid &grid) : _grid(&grid), _iter(0) { -// -//} -// -//template bool GridIterator::hasNext() { -// return _iter < _grid->_contents.size(); -//} -// -//template void GridIterator::next(size_t &i, size_t &j, size_t &k) { -// i = (_iter % _grid->_cellCount.z); -// j = ((_iter / _grid->_cellCount.z) % _grid->_cellCount.y); -// k = (_iter / (_grid->_cellCount.y * _grid->_cellCount.z)); -// ++_iter; -//} - - - template class Grid; -template class Grid > >; -//template class GridIterator; \ No newline at end of file +template class Grid > >; \ No newline at end of file diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 05d9902b..198d2f12 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -8,6 +8,7 @@ #include #include #include +#include template class Grid { friend class GridVectorAttributePainter; @@ -41,6 +42,11 @@ template class Grid { std::size_t fromIJK(const glm::ivec3 &ijk) const; void iterate(const std::function &cb); + void serial_iterate(const std::function &cb); +#ifdef USETBB + void parallel_iterate(const std::function &cb); +#endif + void clear(const T &zeroVal); bool checkIdx(size_t i, size_t j, size_t k) const; diff --git a/core/util/flags.h b/core/util/flags.h new file mode 100644 index 00000000..190b2af6 --- /dev/null +++ b/core/util/flags.h @@ -0,0 +1,10 @@ +// +// Created by austin on 3/22/16. +// + +#ifndef FLUIDSOLVER_FLAGS_H +#define FLUIDSOLVER_FLAGS_H + +#endif //FLUIDSOLVER_FLAGS_H + +#define USETBB \ No newline at end of file diff --git a/main.cpp b/main.cpp index eb0149b9..a0efab3f 100644 --- a/main.cpp +++ b/main.cpp @@ -12,7 +12,7 @@ int main(int argc, char* argv[]) { solver->init(); ParticlesWriter particlesWriter; - //particlesWriter.writeData(solver, "particles_0.vdb"); + particlesWriter.writeData(solver, "particles_0.vdb"); ParticlesPainter particlesPainter(solver); BoxPainter boxPainter((Box *) solver->_container); @@ -34,15 +34,14 @@ int main(int argc, char* argv[]) { int framerate = 24; double start = glfwGetTime(); int frame = 0; - //solver->update(0.01); - //solver->update(0.01); - //solver->update(0.01); + window->initloop([&]() { double now = glfwGetTime(); float duration = (float) (now - start); // limit solver update to 24fps if (duration >= 1.f / framerate) { + std::cout << duration << std::endl; start = now; //solver->update(duration); solver->update(1.f / framerate); @@ -50,7 +49,7 @@ int main(int argc, char* argv[]) { std::string filename = "particles_"; filename.append(std::to_string(++frame)); filename.append(".vdb"); - //particlesWriter.writeData(solver, filename); + particlesWriter.writeData(solver, filename); } }); From 39ff8513bb1509017ea1fe03c4a557fc26f06b39 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Tue, 22 Mar 2016 20:06:00 -0400 Subject: [PATCH 15/29] buggy attempt at being more memory efficient --- .../painters/GridVectorAttributePainter.cpp | 3 +- core/scenes/default.h | 2 +- core/solver/FluidSolver.cpp | 53 +++++++ core/solver/FluidSolver.h | 2 + core/solver/grid/Grid.cpp | 142 +++++++++++++----- core/solver/grid/Grid.h | 14 +- core/util/flags.h | 2 +- core/util/hacks.h | 2 +- main.cpp | 1 - 9 files changed, 170 insertions(+), 51 deletions(-) diff --git a/core/display/painters/GridVectorAttributePainter.cpp b/core/display/painters/GridVectorAttributePainter.cpp index 1416533a..e7f7121f 100644 --- a/core/display/painters/GridVectorAttributePainter.cpp +++ b/core/display/painters/GridVectorAttributePainter.cpp @@ -49,7 +49,8 @@ GridVectorAttributePainter::GridVectorAttributePainter(Grid *grid, // set grid uniforms glUseProgram(prog); glUniform1f(unifCellSize, grid->_cellSize); - glUniform3iv(unifCellCount, 1, &(grid->_cellCount.x)); + glm::ivec3 count = glm::ivec3(grid->_countX, grid->_countY, grid->_countZ); + glUniform3iv(unifCellCount, 1, &(count.x)); glm::vec3 o = grid->_origin + grid->_offset; glUniform3fv(unifOrigin, 1, &(o[0])); glUniform3fv(unifCol, 1, &(color[0])); diff --git a/core/scenes/default.h b/core/scenes/default.h index bdd82796..50989181 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -12,6 +12,6 @@ const char* default_scene = R"( "position": [0, 5, 0], "scale" : [10, 10, 10] }, - "resolution" : 20 + "resolution" : 10 }; )"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 33aa5461..8a207329 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -7,6 +7,7 @@ #include #include #include +#include float FluidSolver::g = -9.80665f; @@ -135,6 +136,7 @@ void FluidSolver::transferVelocitiesToParticles() { } void FluidSolver::gravitySolve(float step) { + #ifdef USETBB tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { for (size_t i = r.begin(); i != r.end(); ++i) { @@ -147,6 +149,7 @@ void FluidSolver::gravitySolve(float step) { particle.vel.y += g*step; } #endif + } void FluidSolver::updateParticlePositions(float step) { @@ -213,6 +216,34 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, std::size_t attributeSize = sizeof(T); std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); + grid.clear(zeroVal); + Grid distGrid(grid); + + /*iterParticles([&](FluidParticle &particle) { + size_t I,J,K; + grid.indexOf(particle.pos, I, J, K); + glm::vec3 gridPos = distGrid.positionOf(I,J,K); + + distGrid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { + float dist = glm::distance(particle.pos, gridPos); + distGrid(i,j,k) += dist * (dist < radius); + }, false); + }, false); + + iterParticles([&](FluidParticle &particle) { + size_t I,J,K; + grid.indexOf(particle.pos, I, J, K); + glm::vec3 gridPos = distGrid.positionOf(I,J,K); + + distGrid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { + float dist = glm::distance(particle.pos, gridPos); + T temp; + void *address = (void *) &particle + offset; + std::memcpy(&temp, address, attributeSize); + grid(i,j,k) += temp * (dist / distGrid(i,j,k)) * (dist < radius); + }, false); + }, false);*/ + grid.iterate([&](size_t I, size_t J, size_t K) { glm::vec3 gridPos = grid.positionOf(I,J,K); @@ -318,6 +349,7 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid void FluidSolver::update(float step) { projectVelocitiesToGrid(); + // pressure solve transferVelocitiesToParticles(); gravitySolve(step); updateParticlePositions(step); @@ -325,4 +357,25 @@ void FluidSolver::update(float step) { updateCells(); frame++; +} + +void FluidSolver::iterParticles(const std::function &cb, bool parallel) { +#ifdef USETBB + if (parallel) { + tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + FluidParticle &particle = _particles[i]; + cb(particle); + } + }); + } else { + for (FluidParticle &particle : _particles) { + cb(particle); + } + } +#else + for (FluidParticle &particle : _particles) { + cb(particle); + } +#endif } \ No newline at end of file diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 92600a56..8ab6bb75 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -43,6 +43,8 @@ class FluidSolver { template void particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal); template T interpolateAttribute(const glm::vec3 &pos, Grid &grid); + void iterParticles(const std::function &cb, bool parallel=true); + static float g; }; diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index ed8c7f49..be27470b 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -6,6 +6,9 @@ #include #include +#include +#include +#include template Grid::Grid() { @@ -20,8 +23,21 @@ template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &of _offset(offset), _dim(dim), _cellSize(size), - _cellCount(glm::ceil((_dim - _offset) / _cellSize)) { - _contents = std::vector((unsigned long) (_cellCount.x * _cellCount.y * _cellCount.z)); + _countX((size_t) ((_dim.x - _offset.x) / _cellSize)), + _countY((size_t) ((_dim.y - _offset.y) / _cellSize)), + _countZ((size_t) ((_dim.z - _offset.z) / _cellSize)) { + _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); +} + +template template Grid::Grid(const Grid &rhs) : + _origin(rhs._origin), + _offset(rhs._offset), + _dim(rhs._dim), + _cellSize(rhs._cellSize), + _countX(rhs._countX), + _countY(rhs._countY), + _countZ(rhs._countZ) { + _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); } template T& Grid::operator()(std::size_t idx) { @@ -33,37 +49,37 @@ template const T& Grid::operator()(std::size_t idx) const { } template T& Grid::operator()(std::size_t i, std::size_t j, std::size_t k) { - return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; + return _contents[k*_countX*_countY + j*_countX + i]; } template const T& Grid::operator()(std::size_t i, std::size_t j, std::size_t k) const { - return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; + return _contents[k*_countX*_countY + j*_countX + i]; } template T& Grid::atIdx(std::size_t i, std::size_t j, std::size_t k) { - return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; + return _contents[k*_countX*_countY + j*_countX + i]; } template const T& Grid::atIdx(std::size_t i, std::size_t j, std::size_t k) const { - return _contents[k*_cellCount.x*_cellCount.y + j*_cellCount.x + i]; + return _contents[k*_countX*_countY + j*_countX + i]; } template T& Grid::operator()(const glm::ivec3 &idx) { - return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; + return _contents[idx.z*_countX*_countY + idx.y*_countX + idx.x]; } template const T& Grid::operator()(const glm::ivec3 &idx) const { - return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x];; + return _contents[idx.z*_countX*_countY + idx.y*_countX + idx.x];; } template T& Grid::atIdx(const glm::ivec3 &idx) { - return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; + return _contents[idx.z*_countX*_countY + idx.y*_countX + idx.x]; } template const T& Grid::atIdx(const glm::ivec3 &idx) const { - return _contents[idx.z*_cellCount.x*_cellCount.y + idx.y*_cellCount.x + idx.x]; + return _contents[idx.z*_countX*_countY + idx.y*_countX + idx.x]; } @@ -90,12 +106,23 @@ template glm::ivec3 Grid::indexOf(const glm::vec3 &pos) const { int i = (int) indices.x; int j = (int) indices.y; int k = (int) indices.z; - //if (i >= _cellCount.x ) i = -1; - //if (j >= _cellCount.y ) j = -1; - //if (k >= _cellCount.z ) k = -1; - return glm::clamp(glm::ivec3(i, j, k), glm::ivec3(0,0,0), _cellCount); + //if (i >= _countX ) i = -1; + //if (j >= _countY ) j = -1; + //if (k >= _countZ ) k = -1; + return glm::clamp(glm::ivec3(i, j, k), glm::ivec3(0,0,0), glm::ivec3(_countX, _countY, _countZ)); +} + +template void Grid::indexOf(const glm::vec3 &pos, size_t &i, size_t &j, size_t &k) const { + glm::vec3 indices = (pos - _offset - _origin) / _cellSize; + i = (size_t) ((indices.x <= _countX) * indices.x + (indices.x > _countX) * _countX); // clamp at countX + j = (size_t) ((indices.y <= _countY) * indices.y + (indices.y > _countY) * _countY); // clamp at countY + k = (size_t) ((indices.x <= _countZ) * indices.z + (indices.z > _countZ) * _countZ); // clamp at countZ + i = (i > 0) * i; + j = (j > 0) * j; + k = (k > 0) * k; } + template glm::vec3 Grid::positionOf(const glm::ivec3 &idx) const { return glm::vec3(idx.x * _cellSize, idx.y * _cellSize, idx.z * _cellSize) + _offset + _origin; } @@ -105,51 +132,86 @@ template glm::vec3 Grid::positionOf(size_t i, size_t j, size_t k } template glm::vec3 Grid::fractionalIndexOf(const glm::vec3 &pos) const { - return glm::clamp((pos - _offset - _origin) / _cellSize, glm::vec3(0,0,0), glm::vec3(_cellCount)); + return glm::clamp((pos - _offset - _origin) / _cellSize, glm::vec3(0,0,0), glm::vec3(_countX, _countY, _countZ)); } template glm::ivec3 Grid::toIJK(const std::size_t index) const { - int i = (int) (index % _cellCount.z); - int j = (int) ((index / _cellCount.z) % _cellCount.y); - int k = (int) (index / (_cellCount.y * _cellCount.z)); + int i = (int) (index % _countZ); + int j = (int) ((index / _countZ) % _countY); + int k = (int) (index / (_countY * _countZ)); return glm::ivec3(i,j,k); } template std::size_t Grid::fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const { - return (size_t) (k * _cellCount.x * _cellCount.y + j * _cellCount.x + i); + return (size_t) (k * _countX * _countY + j * _countX + i); } template std::size_t Grid::fromIJK(const glm::ivec3 &ijk) const { - return (size_t) (ijk.z * _cellCount.x * _cellCount.y + ijk.y * _cellCount.x + ijk.x); + return (size_t) (ijk.z * _countX * _countY + ijk.y * _countX + ijk.x); } -template void Grid::iterate(const std::function &cb) { +template void Grid::iterate(const std::function &cb, bool parallel) { #ifdef USETBB - parallel_iterate(cb); + if (parallel) { + tbb::parallel_for(tbb::blocked_range(0, _contents.size()), [&](const tbb::blocked_range& r) { + for (size_t i = r.begin(); i != r.end(); ++i) { + glm::ivec3 ijk = toIJK(i); + cb(ijk.x, ijk.y, ijk.z); + } + }); + } else { + for (size_t idx = 0; idx < _contents.size(); idx++) { + glm::ivec3 ijk = toIJK(idx); + cb(ijk.x, ijk.y, ijk.z); + } + } #else - serial_iterate(cb); -#endif -} - - -template void Grid::serial_iterate(const std::function &cb) { for (size_t idx = 0; idx < _contents.size(); idx++) { glm::ivec3 ijk = toIJK(idx); cb(ijk.x, ijk.y, ijk.z); } +#endif } +template void Grid::iterateNeighborhood(size_t i, size_t j, size_t k, size_t r, const std::function &cb, bool parallel) { + size_t si = MATHIFELSE(i - r, 0, i == 0); + size_t sj = MATHIFELSE(j - r, 0, j == 0); + size_t sk = MATHIFELSE(k - r, 0, k == 0); + size_t ei = MATHIFELSE(i + r, _countX-1, i + r >= _countX); + size_t ej = MATHIFELSE(j + r, _countY-1, j + r >= _countY); + size_t ek = MATHIFELSE(k + r, _countZ-1, k + r >= _countZ); + #ifdef USETBB -template void Grid::parallel_iterate(const std::function &cb) { - tbb::parallel_for(tbb::blocked_range(0, _contents.size()), [&](const tbb::blocked_range& r) { - for (size_t i = r.begin(); i != r.end(); ++i) { - glm::ivec3 ijk = toIJK(i); - cb(ijk.x, ijk.y, ijk.z); - } - }); -} + if (parallel) { + tbb::parallel_for(tbb::blocked_range3d(si,ei,sj,ej,sk,ek), [&](const tbb::blocked_range3d &r) { + for(size_t i=r.pages().begin(), i_end=r.pages().end(); i void Grid::clear(const T &zeroVal) { @@ -167,9 +229,9 @@ template void Grid::clear(const T &zeroVal) { } template bool Grid::checkIdx(size_t i, size_t j, size_t k) const { - return i >= 0 && i < _cellCount.x && - j >= 0 && j < _cellCount.y && - k >= 0 && k < _cellCount.z; + return i >= 0 && i < _countX && + j >= 0 && j < _countY && + k >= 0 && k < _countZ; } template bool Grid::checkIdx(const glm::ivec3 &idx) const { return checkIdx((size_t) idx.x, (size_t) idx.y, (size_t) idx.z); diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 198d2f12..1780c5ae 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -15,6 +15,7 @@ template class Grid { public: Grid(); Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size); + template Grid(const Grid &rhs); T& operator()(std::size_t idx); const T& operator()(std::size_t idx) const; @@ -33,6 +34,7 @@ template class Grid { const T& at(const glm::vec3 &pos) const; glm::ivec3 indexOf(const glm::vec3 &pos) const; + void indexOf(const glm::vec3 &pos, size_t &i, size_t &j, size_t &k) const; glm::vec3 positionOf(const glm::ivec3 &idx) const; glm::vec3 positionOf(size_t i, size_t j, size_t k) const; glm::vec3 fractionalIndexOf(const glm::vec3 &pos) const; @@ -41,11 +43,9 @@ template class Grid { std::size_t fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const; std::size_t fromIJK(const glm::ivec3 &ijk) const; - void iterate(const std::function &cb); - void serial_iterate(const std::function &cb); -#ifdef USETBB - void parallel_iterate(const std::function &cb); -#endif + void iterate(const std::function &cb, bool parallel=true); + + void iterateNeighborhood(size_t i, size_t j, size_t k, size_t r, const std::function &cb, bool parallel=true); void clear(const T &zeroVal); @@ -60,7 +60,9 @@ template class Grid { glm::vec3 _offset; glm::vec3 _dim; float _cellSize; - glm::ivec3 _cellCount; + size_t _countX; + size_t _countY; + size_t _countZ; }; #endif //FLUIDSOLVER_GRID_H diff --git a/core/util/flags.h b/core/util/flags.h index 190b2af6..cfb181a5 100644 --- a/core/util/flags.h +++ b/core/util/flags.h @@ -7,4 +7,4 @@ #endif //FLUIDSOLVER_FLAGS_H -#define USETBB \ No newline at end of file +//#define USETBB \ No newline at end of file diff --git a/core/util/hacks.h b/core/util/hacks.h index 0b2de0b4..d5297554 100644 --- a/core/util/hacks.h +++ b/core/util/hacks.h @@ -5,6 +5,6 @@ #ifndef FLUIDSOLVER_HACKS_H #define FLUIDSOLVER_HACKS_H -#define MATHIFELSE(expr1, expr2, cond) ( (expr1)*(1-(cond)) + (expr2)*(cond) ) +#define MATHIFELSE(expr1, expr2, cond) ( expr1*(1-(cond)) + (expr2)*(cond) ) #endif //FLUIDSOLVER_HACKS_H diff --git a/main.cpp b/main.cpp index a0efab3f..513a7bca 100644 --- a/main.cpp +++ b/main.cpp @@ -41,7 +41,6 @@ int main(int argc, char* argv[]) { // limit solver update to 24fps if (duration >= 1.f / framerate) { - std::cout << duration << std::endl; start = now; //solver->update(duration); solver->update(1.f / framerate); From bdb5950fe0796c7dad7614717f107b84ca835fec Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Wed, 23 Mar 2016 12:18:14 -0400 Subject: [PATCH 16/29] some fixes --- core/display/Window.cpp | 1 - core/scenes/default.h | 2 +- core/solver/FluidSolver.cpp | 67 +++++++++++++++++++++---------------- core/solver/grid/Grid.cpp | 17 +++++++--- core/solver/grid/Grid.h | 1 + main.cpp | 6 ++++ 6 files changed, 59 insertions(+), 35 deletions(-) diff --git a/core/display/Window.cpp b/core/display/Window.cpp index 3a3efe76..60f2e068 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -242,7 +242,6 @@ void Window::initloop(std::function predraw) { glfwDestroyWindow(_window); glfwTerminate(); - exit(EXIT_SUCCESS); } void Window::handleMouseInput(InputHandler::MouseState &mouseState) { diff --git a/core/scenes/default.h b/core/scenes/default.h index 50989181..bdd82796 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -12,6 +12,6 @@ const char* default_scene = R"( "position": [0, 5, 0], "scale" : [10, 10, 10] }, - "resolution" : 10 + "resolution" : 20 }; )"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 8a207329..48849c21 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -6,6 +6,7 @@ #include "FluidSolver.h" #include #include +#include #include #include @@ -30,7 +31,7 @@ void FluidSolver::addFluid(GeoObject *fluid) { for (float x = b.minX(); x < b.maxX(); x += particle_radius) { for (float y = b.minY(); y < b.maxY(); y += particle_radius) { for (float z = b.minZ(); z < b.maxZ(); z += particle_radius) { - glm::vec3 pos = glm::vec3(x, y, z); + glm::vec3 pos = glm::vec3(x, y, z) + glm::vec3(_cell_size)/2.f; if (fluid->contains(pos)) { FluidParticle p; p.pos = pos; @@ -216,10 +217,10 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, std::size_t attributeSize = sizeof(T); std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); - grid.clear(zeroVal); + /*grid.clear(zeroVal); Grid distGrid(grid); - /*iterParticles([&](FluidParticle &particle) { + iterParticles([&](FluidParticle &particle) { size_t I,J,K; grid.indexOf(particle.pos, I, J, K); glm::vec3 gridPos = distGrid.positionOf(I,J,K); @@ -248,22 +249,32 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, glm::vec3 gridPos = grid.positionOf(I,J,K); - float totalDist = 0; - size_t startI = MATHIFELSE(I - cellRadius, I, I == 0); - size_t startJ = MATHIFELSE(J - cellRadius, J, J == 0); - size_t startK = MATHIFELSE(K - cellRadius, K, K == 0); - - for (size_t i = startI; i <= I + cellRadius; i++) { - for (size_t j = startJ; j <= J + cellRadius; j++) { - for (size_t k = startK; k <= K + cellRadius; k++) { - if (_MAC.checkIdx(i,j,k)) { - for (FluidParticle* particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - if (dist < radius) { - totalDist += dist; - } + size_t si, ei, sj, ej, sk, ek; + _MAC.getNeighboorhood(I, J, K, cellRadius, si, ei, sj, ej, sk, ek); + + float totalDist = 0.f; + for (size_t i = si; i < ei; i++) { + for (size_t j = sj; j < ej; j++) { + for (size_t k = sk; k < ek; k++) { +#ifdef USETBB + typedef std::vector::iterator range_iterator; + totalDist += tbb::parallel_reduce( + tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end(), 20), 0.f, + [&](const tbb::blocked_range &r, float init)->T { + for (range_iterator p = r.begin(); p != r.end(); p++) { + float dist = glm::distance((*p)->pos, gridPos); + init += dist * (dist < radius); + } + return init; + }, std::plus()); +#else + for (FluidParticle* particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + if (dist < radius) { + totalDist += dist; } } +#endif } } } @@ -275,23 +286,21 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, T temp; T gridVal = zeroVal; - for (size_t i = startI; i <= I + cellRadius; i++) { - for (size_t j = startJ; j <= J + cellRadius; j++) { - for (size_t k = startK; k <= K + cellRadius; k++) { - if (_MAC.checkIdx(i, j, k)) { - for (FluidParticle *particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - if (dist < radius) { - void *address = (void *) particle + offset; - std::memcpy(&temp, address, attributeSize); - gridVal += temp * dist / totalDist; - } - } + for (size_t i = si; i < ei; i++) { + for (size_t j = sj; j < ej; j++) { + for (size_t k = sk; k < ek; k++) { + for (FluidParticle *particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + void *address = (void *) particle + offset; + std::memcpy(&temp, address, attributeSize); + gridVal += temp * (dist / totalDist) * (dist < radius); } } } } + + grid(I,J,K) = gridVal; }); } diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index be27470b..2a92ee22 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -23,9 +23,9 @@ template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &of _offset(offset), _dim(dim), _cellSize(size), - _countX((size_t) ((_dim.x - _offset.x) / _cellSize)), - _countY((size_t) ((_dim.y - _offset.y) / _cellSize)), - _countZ((size_t) ((_dim.z - _offset.z) / _cellSize)) { + _countX((size_t) (std::ceil((_dim.x - _offset.x) / _cellSize))), + _countY((size_t) (std::ceil((_dim.y - _offset.y) / _cellSize))), + _countZ((size_t) (std::ceil((_dim.z - _offset.z) / _cellSize))) { _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); } @@ -109,7 +109,7 @@ template glm::ivec3 Grid::indexOf(const glm::vec3 &pos) const { //if (i >= _countX ) i = -1; //if (j >= _countY ) j = -1; //if (k >= _countZ ) k = -1; - return glm::clamp(glm::ivec3(i, j, k), glm::ivec3(0,0,0), glm::ivec3(_countX, _countY, _countZ)); + return glm::clamp(glm::ivec3(i, j, k), glm::ivec3(0,0,0), glm::ivec3(_countX-1, _countY-1, _countZ-1)); } template void Grid::indexOf(const glm::vec3 &pos, size_t &i, size_t &j, size_t &k) const { @@ -213,6 +213,15 @@ template void Grid::iterateNeighborhood(size_t i, size_t j, size #endif } +template void Grid::getNeighboorhood(size_t i, size_t j, size_t k, size_t r, size_t &si, size_t &ei, size_t &sj, size_t &ej, size_t &sk, size_t &ek) { + si = MATHIFELSE(i - r, 0, i == 0); + sj = MATHIFELSE(j - r, 0, j == 0); + sk = MATHIFELSE(k - r, 0, k == 0); + ei = std::min(i+r+1, _countX); //MATHIFELSE(i + r, _countX, i + r >= _countX); + ej = std::min(j+r+1, _countY); //MATHIFELSE(j + r, _countY, j + r >= _countY); + ek = std::min(k+r+1, _countZ); //MATHIFELSE(k + r, _countZ, k + r >= _countZ); +} + template void Grid::clear(const T &zeroVal) { #ifdef USETBB diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 1780c5ae..87749470 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -46,6 +46,7 @@ template class Grid { void iterate(const std::function &cb, bool parallel=true); void iterateNeighborhood(size_t i, size_t j, size_t k, size_t r, const std::function &cb, bool parallel=true); + void getNeighboorhood(size_t i, size_t j, size_t k, size_t r, size_t &si, size_t &ei, size_t &sj, size_t &ej, size_t &sk, size_t &ek); void clear(const T &zeroVal); diff --git a/main.cpp b/main.cpp index 513a7bca..550ffb2f 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,7 @@ #include #include #include +#include int main(int argc, char* argv[]) { Window* window = new Window("Fluid Solver"); @@ -35,6 +36,8 @@ int main(int argc, char* argv[]) { double start = glfwGetTime(); int frame = 0; + float totalComputeTime = 0; + window->initloop([&]() { double now = glfwGetTime(); float duration = (float) (now - start); @@ -44,6 +47,7 @@ int main(int argc, char* argv[]) { start = now; //solver->update(duration); solver->update(1.f / framerate); + totalComputeTime += glfwGetTime() - start; std::string filename = "particles_"; filename.append(std::to_string(++frame)); @@ -52,6 +56,8 @@ int main(int argc, char* argv[]) { } }); + std::cout << "Average compute time: " << totalComputeTime / frame << " seconds" << std::endl; + delete window; return 0; From 994783a8a346681c349286387cb2c950b2066b4d Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Wed, 23 Mar 2016 12:31:39 -0400 Subject: [PATCH 17/29] update readme --- README.md | 29 ++++++++++++++++++++++++++--- core/util/flags.h | 2 +- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a58c37de..ebc5feed 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,16 @@ First steps toward building a fluid solver. ### Scene Loading -Does a simple parsing with jsoncpp to create two box objects +Scenes are loaded by passing a path to the scene file as the first program argument. +It does a simple parsing with jsoncpp to create objects. + +* containerDim: size and position of the container +* particleDim: size and position of initial fluid object +* resolution: number of grid divisions on the largest axis + +#### AntTweakBar + +I've added AntTweakBar, but haven't gotten around to having it do anything yet. I also don't have a MAC so I was unable to compile the libraries for it. ### Geometry @@ -28,9 +37,23 @@ All information is stored in a temporary buffer which is swapped with the partic ### Drawing -A Painter class is used to define the functionality of the BoxPainter and ParticlesPainter. Each sets up their own shaders on initialization and implement methods to draw their respective objects. +A Painter class is used to define the drawing behavior of various elements in the scene. Each sets up their own shaders on initialization and implement methods to draw their respective objects. I found it much nicer to isolate my code this way so that I didn't have a billion gl calls in my geometry classes and a billion gl calls in my Window class. Shaders are stored as char arrays in header files. I found that the easiest way to package them with my code. The Window sets up a glfw window and a Singleton instance of InputHandler. glfw doesn't let you have non-static callback functions so I instead have callback functions to update the state of my static InputHandler which the Window can subscribe to. -From there, I can get the window/keyboard/mouse data and do the approriate camera calculations. \ No newline at end of file +From there, I can get the window/keyboard/mouse data and do the approriate camera calculations. + +## Parallelization: + +TBB is used heavily to parallelize calculations on the particles and grid. This can be toggled on/off by defining/undefining USETBB in . + +For the default scene, the parallelized code computes each frame in an average of 0.0494588 seconds. Without TBB, this is 0.0768101 seconds. + +## OpenVDB: + +Currently, each frame is written out as "particles_{frame}.vdb" in the current directory + +## Known Problems: + +There seems to be an edge indexing problem in the attribute transfer from grid to particle \ No newline at end of file diff --git a/core/util/flags.h b/core/util/flags.h index cfb181a5..190b2af6 100644 --- a/core/util/flags.h +++ b/core/util/flags.h @@ -7,4 +7,4 @@ #endif //FLUIDSOLVER_FLAGS_H -//#define USETBB \ No newline at end of file +#define USETBB \ No newline at end of file From a2e27be82c4dcaf0863871013a37d1121bff907d Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Sat, 26 Mar 2016 18:48:16 -0400 Subject: [PATCH 18/29] huh why is this crashing --- core/solver/FluidSolver.cpp | 102 +++++++++++++++++++++++++++++------ core/solver/FluidSolver.h | 1 + core/solver/grid/Grid.cpp | 54 +++++++++++++++++-- core/solver/grid/Grid.h | 7 ++- core/solver/grid/MACGrid.cpp | 5 +- core/solver/grid/MACGrid.h | 9 ++++ core/util/flags.h | 3 +- 7 files changed, 156 insertions(+), 25 deletions(-) diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 48849c21..d7362b82 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -21,6 +21,9 @@ FluidSolver::~FluidSolver() { void FluidSolver::setContainer(GeoObject *container) { _container = container; + glm::vec3 size = _container->bound().dim(); + glm::vec3 origin = (_container->bound().center() - size) / 2.f; + _MAC = MACGrid >(origin, size, _cell_size); } /* @@ -36,6 +39,7 @@ void FluidSolver::addFluid(GeoObject *fluid) { FluidParticle p; p.pos = pos; _particles.push_back(p); + _MAC._gType.at(pos) = FLUID; } } } @@ -43,9 +47,6 @@ void FluidSolver::addFluid(GeoObject *fluid) { } void FluidSolver::init() { - glm::vec3 size = _container->bound().dim(); - glm::vec3 origin = (_container->bound().center() - size) / 2.f; - _MAC = MACGrid >(origin, size, _cell_size); for (FluidParticle &particle : _particles) { particle.cell = _MAC.indexOf(particle.pos); @@ -136,8 +137,64 @@ void FluidSolver::transferVelocitiesToParticles() { #endif } -void FluidSolver::gravitySolve(float step) { +void FluidSolver::enforceBoundary() { +#ifdef USETBB + tbb::parallel_invoke( + [&]() { + _MAC._gU.iterateRegion(0, 0, 0, 0, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0.f; + }); + }, + [&]() { + _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX()-1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0.f; + }); + }, + [&]() { + _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 0, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0.f; + }); + }, + [&]() { + _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY()-1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0.f; + }); + }, + [&]() { + _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 0, [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0.f; + }); + }, + [&]() { + _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ()-1, [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0.f; + }); + } + ); +#else + _MAC._gU.iterateRegion(0, 0, 0, 0, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0.f; + }); + _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX()-1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0.f; + }); + _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 0, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0.f; + }); + _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY()-1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0.f; + }); + _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 0, [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0.f; + }); + _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ()-1, [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0.f; + }); +#endif +} +void FluidSolver::gravitySolve(float step) { +/* #ifdef USETBB tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { for (size_t i = r.begin(); i != r.end(); ++i) { @@ -150,7 +207,10 @@ void FluidSolver::gravitySolve(float step) { particle.vel.y += g*step; } #endif - +*/ + _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) += g*step; + }); } void FluidSolver::updateParticlePositions(float step) { @@ -217,33 +277,38 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, std::size_t attributeSize = sizeof(T); std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); - /*grid.clear(zeroVal); - Grid distGrid(grid); +#ifdef SPLATTING // if splatting + grid.clear(zeroVal); + std::vector distances(grid.countX() * grid.countY() * grid.countZ()); iterParticles([&](FluidParticle &particle) { size_t I,J,K; grid.indexOf(particle.pos, I, J, K); - glm::vec3 gridPos = distGrid.positionOf(I,J,K); + glm::vec3 gridPos = grid.positionOf(I,J,K); - distGrid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { + grid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { float dist = glm::distance(particle.pos, gridPos); - distGrid(i,j,k) += dist * (dist < radius); - }, false); + size_t idx = grid.fromIJK(i,j,k); + distances[idx] += dist * (dist < radius); + }); }, false); iterParticles([&](FluidParticle &particle) { size_t I,J,K; grid.indexOf(particle.pos, I, J, K); - glm::vec3 gridPos = distGrid.positionOf(I,J,K); + glm::vec3 gridPos = grid.positionOf(I,J,K); - distGrid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { + grid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { float dist = glm::distance(particle.pos, gridPos); + size_t idx = grid.fromIJK(i,j,k); T temp; void *address = (void *) &particle + offset; std::memcpy(&temp, address, attributeSize); - grid(i,j,k) += temp * (dist / distGrid(i,j,k)) * (dist < radius); - }, false); - }, false);*/ + grid(i,j,k) += temp * (dist / distances[idx]) * (dist < radius); + }); + }, false); + +#else // else splatting grid.iterate([&](size_t I, size_t J, size_t K) { @@ -303,6 +368,8 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, grid(I,J,K) = gridVal; }); + +#endif // endif splatting } template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid &grid) { @@ -359,8 +426,9 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid void FluidSolver::update(float step) { projectVelocitiesToGrid(); // pressure solve - transferVelocitiesToParticles(); + enforceBoundary(); gravitySolve(step); + transferVelocitiesToParticles(); updateParticlePositions(step); resolveCollisions(); updateCells(); diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 8ab6bb75..85c0b549 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -24,6 +24,7 @@ class FluidSolver { void projectVelocitiesToGrid(); void transferVelocitiesToParticles(); + void enforceBoundary(); void gravitySolve(float step); void updateParticlePositions(float step); void resolveCollisions(); diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index 2a92ee22..3fd069a9 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -28,7 +28,7 @@ template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &of _countZ((size_t) (std::ceil((_dim.z - _offset.z) / _cellSize))) { _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); } - +/* template template Grid::Grid(const Grid &rhs) : _origin(rhs._origin), _offset(rhs._offset), @@ -38,7 +38,7 @@ template template Grid::Grid(const Grid &rhs) : _countY(rhs._countY), _countZ(rhs._countZ) { _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); -} +}*/ template T& Grid::operator()(std::size_t idx) { return _contents[idx]; @@ -173,6 +173,38 @@ template void Grid::iterate(const std::function void Grid::iterateRegion(size_t i, size_t j, size_t k, size_t I, size_t J, size_t K, const std::function &cb, bool parallel) { +#ifdef USETBB + if (parallel) { + tbb::parallel_for(tbb::blocked_range3d(i,j,k,I,J,K), [&](const tbb::blocked_range3d &r) { + for(size_t ii=r.pages().begin(), i_end=r.pages().end(); ii void Grid::iterateNeighborhood(size_t i, size_t j, size_t k, size_t r, const std::function &cb, bool parallel) { size_t si = MATHIFELSE(i - r, 0, i == 0); size_t sj = MATHIFELSE(j - r, 0, j == 0); @@ -187,7 +219,6 @@ template void Grid::iterateNeighborhood(size_t i, size_t j, size for(size_t i=r.pages().begin(), i_end=r.pages().end(); i bool Grid::checkIdx(const glm::ivec3 &idx) const { return checkIdx((size_t) idx.x, (size_t) idx.y, (size_t) idx.z); } +template size_t Grid::countX() const { + return _countX; +} + +template size_t Grid::countY() const { + return _countY; +} + +template size_t Grid::countZ() const { + return _countZ; +} + + template class Grid; -template class Grid > >; \ No newline at end of file +template class Grid; +template class Grid > >; + diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 87749470..87fc13c2 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -15,7 +15,7 @@ template class Grid { public: Grid(); Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size); - template Grid(const Grid &rhs); + //template Grid(const Grid &rhs); T& operator()(std::size_t idx); const T& operator()(std::size_t idx) const; @@ -44,6 +44,7 @@ template class Grid { std::size_t fromIJK(const glm::ivec3 &ijk) const; void iterate(const std::function &cb, bool parallel=true); + void iterateRegion(size_t i, size_t j, size_t k, size_t I, size_t J, size_t K, const std::function &cb, bool parallel=true); void iterateNeighborhood(size_t i, size_t j, size_t k, size_t r, const std::function &cb, bool parallel=true); void getNeighboorhood(size_t i, size_t j, size_t k, size_t r, size_t &si, size_t &ei, size_t &sj, size_t &ej, size_t &sk, size_t &ek); @@ -53,6 +54,10 @@ template class Grid { bool checkIdx(size_t i, size_t j, size_t k) const; bool checkIdx(const glm::ivec3 &idx) const; + size_t countX() const; + size_t countY() const; + size_t countZ() const; + virtual ~Grid(); private: diff --git a/core/solver/grid/MACGrid.cpp b/core/solver/grid/MACGrid.cpp index 8504ed84..c304c9b5 100644 --- a/core/solver/grid/MACGrid.cpp +++ b/core/solver/grid/MACGrid.cpp @@ -14,14 +14,15 @@ template MACGrid::~MACGrid() { } template MACGrid::MACGrid(const glm::vec3 &origin, const glm::vec3 &dim, float size) : - Grid(origin, glm::vec3(0,0,0), dim, size), + Grid(origin, size*glm::vec3(0.5f,0.5f,0.5f), dim, size), _gU(Grid(origin, size*glm::vec3(0.0f,0.5f,0.5f), dim, size)), _gV(Grid(origin, size*glm::vec3(0.5f,0.0f,0.5f), dim, size)), _gW(Grid(origin, size*glm::vec3(0.5f,0.5f,0.0f), dim, size)), _gU_old(Grid(origin, size*glm::vec3(0.0f,0.5f,0.5f), dim, size)), _gV_old(Grid(origin, size*glm::vec3(0.5f,0.0f,0.5f), dim, size)), _gW_old(Grid(origin, size*glm::vec3(0.5f,0.5f,0.0f), dim, size)), - _gP(Grid(origin, size*glm::vec3(0.5f,0.5f,0.5f), dim, size)) { + _gP(Grid(origin, size*glm::vec3(0.5f,0.5f,0.5f), dim, size)), + _gType(Grid(origin, size*glm::vec3(0.5f,0.5f,0.5f), dim, size)) { } diff --git a/core/solver/grid/MACGrid.h b/core/solver/grid/MACGrid.h index 44da73bc..5685c218 100644 --- a/core/solver/grid/MACGrid.h +++ b/core/solver/grid/MACGrid.h @@ -6,10 +6,18 @@ #define FLUIDSOLVER_MACGRID_H #include "Grid.h" +#include + +enum CellType { + EMPTY, + FLUID, + SOLID +}; template class MACGrid : public Grid { friend class FluidSolver; public: + MACGrid(); MACGrid(const glm::vec3 &origin, const glm::vec3 &dim, float size); virtual ~MACGrid(); @@ -21,6 +29,7 @@ template class MACGrid : public Grid { Grid _gV_old; Grid _gW_old; Grid _gP; + Grid _gType; private: std::vector _contents; diff --git a/core/util/flags.h b/core/util/flags.h index 190b2af6..e85049e7 100644 --- a/core/util/flags.h +++ b/core/util/flags.h @@ -7,4 +7,5 @@ #endif //FLUIDSOLVER_FLAGS_H -#define USETBB \ No newline at end of file +#define USETBB +#define SPLATTING \ No newline at end of file From 5da849b131438619d76fcd411e2698b055ff2ba0 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 28 Mar 2016 19:18:32 -0400 Subject: [PATCH 19/29] fixes and marker drawing --- CMakeLists.txt | 4 +- core/camera/Camera.cpp | 2 +- .../painters/GridScalarAttributePainter.cpp | 146 ++++++++++ .../painters/GridScalarAttributePainter.h | 73 +++++ core/display/shaders/gridScal.frag.h | 22 ++ core/display/shaders/gridScal.vert.h | 42 +++ core/display/shaders/particle.vert.h | 1 + core/scenes/default.h | 4 +- core/solver/FluidSolver.cpp | 271 +++++++++++++++--- core/solver/FluidSolver.h | 4 +- core/solver/grid/Grid.cpp | 31 +- core/solver/grid/Grid.h | 4 + core/util/flags.h | 2 +- main.cpp | 6 +- 14 files changed, 549 insertions(+), 63 deletions(-) create mode 100644 core/display/painters/GridScalarAttributePainter.cpp create mode 100644 core/display/painters/GridScalarAttributePainter.h create mode 100644 core/display/shaders/gridScal.frag.h create mode 100644 core/display/shaders/gridScal.vert.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 408428e5..93ba596e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ endif() # set compiler flags for c++11 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -m64 -msse2 -w") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O0 -m64 -msse2 -w") elseif(WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() @@ -105,7 +105,7 @@ set(CORE_SRC core/solver/FluidSolver.cpp core/solver/FluidSolver.h core/util/math.h - core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridVectorAttributePainter.cpp core/display/painters/GridVectorAttributePainter.h core/display/shaders/gridAttr.geo.h core/util/flags.h) + core/display/shaders/particle.frag.h core/display/shaders/particle.vert.h core/display/painters/ParticlesPainter.cpp core/display/painters/ParticlesPainter.h core/display/painters/Painter.cpp core/display/painters/Painter.h core/display/painters/BoxPainter.cpp core/display/painters/BoxPainter.h core/display/shaders/flat.vert.h core/display/shaders/flat.frag.h core/scenes/default.h core/camera/Camera.cpp core/camera/Camera.h core/solver/grid/Grid.cpp core/solver/grid/Grid.h core/solver/grid/MACGrid.cpp core/solver/grid/MACGrid.h core/solver/FluidParticle.h core/fileIO/ParticlesWriter.cpp core/fileIO/ParticlesWriter.h core/util/hacks.h core/display/painters/GridVectorAttributePainter.cpp core/display/painters/GridVectorAttributePainter.h core/display/shaders/gridAttr.geo.h core/util/flags.h core/display/painters/GridScalarAttributePainter.cpp core/display/painters/GridScalarAttributePainter.h core/display/shaders/gridScal.vert.h core/display/shaders/gridScal.frag.h) add_executable(FluidSolver ${CORE_SRC}) target_link_libraries(FluidSolver ${CORE_LIBS}) diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp index 827f90a8..35078498 100644 --- a/core/camera/Camera.cpp +++ b/core/camera/Camera.cpp @@ -20,7 +20,7 @@ Camera::Camera(int w, int h) : rotation(glm::mat4(1.f)) { rotation = glm::rotate(rotation, -PI/4, glm::vec3(1,0,0)); - rotation = glm::rotate(rotation, -PI/4, glm::vec3(0,1,0)); + //rotation = glm::rotate(rotation, -PI/2, glm::vec3(0,1,0)); recomputeEye(); recompute(); diff --git a/core/display/painters/GridScalarAttributePainter.cpp b/core/display/painters/GridScalarAttributePainter.cpp new file mode 100644 index 00000000..99e0e031 --- /dev/null +++ b/core/display/painters/GridScalarAttributePainter.cpp @@ -0,0 +1,146 @@ +// +// Created by austin on 3/28/16. +// + +#include "GridScalarAttributePainter.h" +#include +#include + +GridScalarAttributePainter::GridScalarAttributePainter( + Grid *grid, float rangeStart, float rangeEnd, + float ptSizeStart, float ptSizeEnd, const glm::vec3 &colorStart, + const glm::vec3 &colorEnd) + : + GridScalarAttributePainter(grid, rangeStart, rangeEnd, ptSizeStart, ptSizeEnd, colorStart, colorEnd, FLOAT) { + +} + +GridScalarAttributePainter::GridScalarAttributePainter( + Grid *grid, float rangeStart, float rangeEnd, + float ptSizeStart, float ptSizeEnd, const glm::vec3 &colorStart, + const glm::vec3 &colorEnd) + : + GridScalarAttributePainter(grid, rangeStart, rangeEnd, ptSizeStart, ptSizeEnd, colorStart, colorEnd, INT) { + +} + +template +GridScalarAttributePainter::GridScalarAttributePainter(Grid *grid, float rangeStart, float rangeEnd, + float ptSizeStart, float ptSizeEnd, const glm::vec3 &colorStart, + const glm::vec3 &colorEnd, Type type) : type(type) { + + if (type == FLOAT) { + _attributesF = &dynamic_cast*>(grid)->_contents; + MAX_ATTRIBUTES = _attributesF->size(); + } else if (type == INT) { + _attributesI = &dynamic_cast*>(grid)->_contents; + MAX_ATTRIBUTES = _attributesI->size(); + } + + std::vector indices; + for (int i = 0; i < MAX_ATTRIBUTES; i++) { + indices.push_back(i); + } + + // compile shaders + GLuint gridScalVert = compileShader(gridScal_vert, GL_VERTEX_SHADER); + GLuint gridScalFrag = compileShader(gridScal_frag, GL_FRAGMENT_SHADER); + + std::vector programs = {gridScalVert, gridScalFrag}; + prog = makeProgram(programs); + + // setup shader locations + unifViewProj = glGetUniformLocation(prog, "u_viewProj"); + if (type == FLOAT) { + attrData = glGetAttribLocation(prog, "f_data"); + } else if (type == INT) { + attrData = glGetAttribLocation(prog, "i_data"); + } + + unifColStart = glGetUniformLocation(prog, "u_colStart"); + unifColEnd = glGetUniformLocation(prog, "u_colEnd"); + unifSizeStart = glGetUniformLocation(prog, "u_sizeStart"); + unifSizeEnd = glGetUniformLocation(prog, "u_sizeEnd"); + unifRangeStart = glGetUniformLocation(prog, "u_rangeStart"); + unifRangeEnd = glGetUniformLocation(prog, "u_rangeEnd"); + + unifCellSize = glGetUniformLocation(prog, "u_cellSize"); + unifCellCount = glGetUniformLocation(prog, "u_cellCount"); + unifOrigin = glGetUniformLocation(prog, "u_origin"); + + // make a buffer for the indices + glGenBuffers(1, &index_buffer); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(int), indices.data(), GL_STATIC_DRAW); + + // make a buffer for the attributes + if (type == FLOAT) { + glGenBuffers(1, &attribute_buffer); + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(float), NULL, GL_STREAM_DRAW); + } else if (type == INT) { + glGenBuffers(1, &attribute_buffer); + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(int), NULL, GL_STREAM_DRAW); + } + + // set grid uniforms + glUseProgram(prog); + glUniform1f(unifCellSize, grid->_cellSize); + glm::ivec3 count = glm::ivec3(grid->_countX, grid->_countY, grid->_countZ); + glUniform3iv(unifCellCount, 1, &(count.x)); + glm::vec3 o = grid->_origin + grid->_offset; + glUniform3fv(unifOrigin, 1, &(o[0])); + + glUniform3fv(unifColStart, 1, &(colorStart[0])); + glUniform3fv(unifColEnd, 1, &(colorEnd[0])); + glUniform1f(unifRangeStart, rangeStart); + glUniform1f(unifRangeEnd, rangeEnd); + glUniform1f(unifSizeStart, ptSizeStart); + glUniform1f(unifSizeEnd, ptSizeEnd); +} + +void GridScalarAttributePainter::draw() const { + if (type == FLOAT) { + if (_attributesF != nullptr) { + glUseProgram(prog); + glEnable(GL_PROGRAM_POINT_SIZE); + + // bind and send new data + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(float), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, MAX_ATTRIBUTES * sizeof(float), _attributesF->data()); + + glEnableVertexAttribArray(attrData); + glVertexAttribPointer(attrData, 1, GL_FLOAT, GL_FALSE, sizeof(float), (void*)0); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glDrawElements(GL_POINTS, _attributesF->size(), GL_UNSIGNED_INT, 0); + + glDisableVertexAttribArray(attrData); + } + } else if (type == INT) { + if (_attributesI != nullptr) { + glUseProgram(prog); + glEnable(GL_PROGRAM_POINT_SIZE); + + // bind and send new data + glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); + glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(int), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, MAX_ATTRIBUTES * sizeof(int), _attributesI->data()); + + glEnableVertexAttribArray(attrData); + glVertexAttribIPointer(attrData, 1, GL_INT, sizeof(int), (void*)0); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); + glDrawElements(GL_POINTS, _attributesI->size(), GL_UNSIGNED_INT, 0); + + glDisableVertexAttribArray(attrData); + } + } +} + +void GridScalarAttributePainter::setViewProj(const float *viewProj) { + glUseProgram(prog); + glUniformMatrix4fv(unifViewProj, 1, GL_FALSE, viewProj); +} diff --git a/core/display/painters/GridScalarAttributePainter.h b/core/display/painters/GridScalarAttributePainter.h new file mode 100644 index 00000000..98b9a74d --- /dev/null +++ b/core/display/painters/GridScalarAttributePainter.h @@ -0,0 +1,73 @@ +// +// Created by austin on 3/28/16. +// + +#ifndef FLUIDSOLVER_GRIDSCALARATTRIBUTEPAINTER_H +#define FLUIDSOLVER_GRIDSCALARATTRIBUTEPAINTER_H + +#include "Painter.h" +#include + +class GridScalarAttributePainter : public Painter { +public: + enum Type { + INT, + FLOAT + }; + + template explicit GridScalarAttributePainter(Grid* grid, + float rangeStart, + float rangeEnd, + float ptSizeStart, + float ptSizeEnd, + const glm::vec3 &colorStart, + const glm::vec3 &colorEnd, + Type type); + + explicit GridScalarAttributePainter(Grid* grid, + float rangeStart, + float rangeEnd, + float ptSizeStart, + float ptSizeEnd, + const glm::vec3 &colorStart, + const glm::vec3 &colorEnd); + + explicit GridScalarAttributePainter(Grid* grid, + float rangeStart, + float rangeEnd, + float ptSizeStart, + float ptSizeEnd, + const glm::vec3 &colorStart, + const glm::vec3 &colorEnd); + + virtual void draw() const; + virtual void setViewProj(const float* viewProj); + +private: + Type type; + unsigned int MAX_ATTRIBUTES = 10000; + GLuint index_buffer; + GLuint attribute_buffer; + + GLint attrIndex; + GLint attrData; + + GLint unifViewProj; + + GLint unifColStart; + GLint unifColEnd; + GLint unifSizeStart; + GLint unifSizeEnd; + GLint unifRangeStart; + GLint unifRangeEnd; + + GLint unifCellSize; + GLint unifCellCount; + GLint unifOrigin; + + std::vector* _attributesF; + std::vector* _attributesI; +}; + + +#endif //FLUIDSOLVER_GRIDSCALARATTRIBUTEPAINTER_H diff --git a/core/display/shaders/gridScal.frag.h b/core/display/shaders/gridScal.frag.h new file mode 100644 index 00000000..63b352fb --- /dev/null +++ b/core/display/shaders/gridScal.frag.h @@ -0,0 +1,22 @@ +// +// Created by austin on 3/28/16. +// + +#ifndef FLUIDSOLVER_GRIDSCAL_FRAG_H +#define FLUIDSOLVER_GRIDSCAL_FRAG_H + +const char* gridScal_frag = R"( +#version 150 + +uniform vec3 u_colStart; +uniform vec3 u_colEnd; + +in float amount; +out vec4 out_Col; + +void main() { + out_Col = vec4((1 - amount)*u_colStart + amount*u_colEnd, 1); +} +)"; + +#endif //FLUIDSOLVER_GRIDSCAL_FRAG_H diff --git a/core/display/shaders/gridScal.vert.h b/core/display/shaders/gridScal.vert.h new file mode 100644 index 00000000..7a6c2756 --- /dev/null +++ b/core/display/shaders/gridScal.vert.h @@ -0,0 +1,42 @@ +// +// Created by austin on 3/28/16. +// + +#ifndef FLUIDSOLVER_GRIDSCAL_VERT_H +#define FLUIDSOLVER_GRIDSCAL_VERT_H + +const char* gridScal_vert = R"( +#version 150 + +uniform mat4 u_viewProj; + +uniform float u_cellSize; +uniform ivec3 u_cellCount; +uniform vec3 u_origin; + +uniform float u_sizeStart; +uniform float u_sizeEnd; +uniform float u_rangeStart; +uniform float u_rangeEnd; + +in float f_data; +in int i_data; +out float amount; + +void main() { + + int i = int(mod(gl_VertexID, u_cellCount.z)); + int j = int(mod(gl_VertexID / u_cellCount.z, u_cellCount.y)); + int k = int(gl_VertexID / (u_cellCount.y * u_cellCount.z)); + + vec3 pos = vec3(float(i), float(j), float(k)) * u_cellSize + u_origin; + + gl_Position = u_viewProj * vec4(pos, 1); + + amount = (float(i_data) - u_rangeStart) / (u_rangeEnd - u_rangeStart); + + gl_PointSize = u_sizeStart + amount * (u_sizeEnd - u_sizeStart); +} +)"; + +#endif //FLUIDSOLVER_GRIDSCAL_VERT_H diff --git a/core/display/shaders/particle.vert.h b/core/display/shaders/particle.vert.h index 92b6cd42..0235261a 100644 --- a/core/display/shaders/particle.vert.h +++ b/core/display/shaders/particle.vert.h @@ -19,6 +19,7 @@ out vec3 f_col; void main() { f_col = v_col; gl_Position = u_viewProj * vec4(v_pos, 1); + gl_PointSize = 3; } )"; diff --git a/core/scenes/default.h b/core/scenes/default.h index bdd82796..603bbe96 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -9,9 +9,9 @@ const char* default_scene = R"( "scale" : [10, 20, 10] }, "particleDim" : { - "position": [0, 5, 0], + "position": [0, 4, 0], "scale" : [10, 10, 10] }, - "resolution" : 20 + "resolution" : 10 }; )"; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index d7362b82..705b7e4b 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include float FluidSolver::g = -9.80665f; @@ -23,7 +25,28 @@ void FluidSolver::setContainer(GeoObject *container) { _container = container; glm::vec3 size = _container->bound().dim(); glm::vec3 origin = (_container->bound().center() - size) / 2.f; - _MAC = MACGrid >(origin, size, _cell_size); + _MAC = MACGrid >( + origin - glm::vec3(_cell_size, _cell_size, _cell_size), + size + 2.f*glm::vec3(_cell_size, _cell_size, _cell_size), + _cell_size + ); + + std::function setSolid = [&](size_t i, size_t j, size_t k) { + _MAC._gType(i,j,k) = SOLID; + }; + + _MAC._gType.iterateRegion(0,0,0, 1,_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(_MAC._gType.countX()-1,0,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),1,_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,_MAC._gType.countY()-1,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),_MAC._gType.countY(),1, setSolid); + _MAC._gType.iterateRegion(0,0,_MAC._gType.countZ()-1, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + + /*_MAC = MACGrid >( + origin, + size, + _cell_size + );*/ } /* @@ -80,7 +103,7 @@ void FluidSolver::projectVelocitiesToGrid() { } void FluidSolver::transferVelocitiesToParticles() { - float smooth = 1.f; + float smooth = 0.15f; #ifdef USETBB tbb::parallel_invoke( @@ -138,59 +161,69 @@ void FluidSolver::transferVelocitiesToParticles() { } void FluidSolver::enforceBoundary() { + #ifdef USETBB tbb::parallel_invoke( [&]() { - _MAC._gU.iterateRegion(0, 0, 0, 0, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU.iterateRegion(0, 0, 0, + 1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gU(i,j,k) = 0.f; }); }, [&]() { - _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX()-1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, + _MAC._gU.countX(), _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gU(i,j,k) = 0.f; }); }, [&]() { - _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 0, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV.iterateRegion(0, 0, 0, + _MAC._gV.countX(), 1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gV(i,j,k) = 0.f; }); }, [&]() { - _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY()-1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, + _MAC._gV.countX(), _MAC._gV.countY(), _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gV(i,j,k) = 0.f; }); }, [&]() { - _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 0, [&](size_t i, size_t j, size_t k) { + _MAC._gW.iterateRegion(0, 0, 0, + _MAC._gW.countX(), _MAC._gW.countY(), 1, [&](size_t i, size_t j, size_t k) { _MAC._gW(i,j,k) = 0.f; }); }, [&]() { - _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ()-1, [&](size_t i, size_t j, size_t k) { + _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, + _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gW(i,j,k) = 0.f; }); } ); #else - _MAC._gU.iterateRegion(0, 0, 0, 0, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU.iterateRegion(0, 0, 0, 1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gU(i,j,k) = 0.f; }); - _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX()-1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX(), _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gU(i,j,k) = 0.f; }); - _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 0, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + //_MAC._gV_old(i,j,k) = _MAC._gV(i,j,k); _MAC._gV(i,j,k) = 0.f; }); - _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY()-1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gV(i,j,k) = 0.f; + _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY(), _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + //_MAC._gV_old(i,j,k) = _MAC._gV(i,j,k); + //_MAC._gV(i,j,k) = 0.f; }); - _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 0, [&](size_t i, size_t j, size_t k) { + _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 1, [&](size_t i, size_t j, size_t k) { _MAC._gW(i,j,k) = 0.f; }); - _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ()-1, [&](size_t i, size_t j, size_t k) { + _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ(), [&](size_t i, size_t j, size_t k) { _MAC._gW(i,j,k) = 0.f; }); #endif + } void FluidSolver::gravitySolve(float step) { @@ -252,7 +285,7 @@ void FluidSolver::resolveCollisions() { if (_container->collides(particle.pos_old, particle.pos, normal)) { particle.col = glm::vec3(1,0,0); glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); - particle.vel *= mask; + //particle.vel *= mask; particle.pos = particle.pos_old; } } @@ -260,7 +293,7 @@ void FluidSolver::resolveCollisions() { } void FluidSolver::updateCells() { - + _MAC.clear(std::vector()); for (FluidParticle &particle : _particles) { particle.cell = _MAC.indexOf(particle.pos); if (_MAC.checkIdx(particle.cell)) { @@ -273,13 +306,38 @@ void FluidSolver::updateCells() { } -template void FluidSolver::particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal) { +float kernel(float r, float h) { + float e = r/h; + /*float w; + if (0 <= e && e <=1) { + w = 1.f - 3.f/2.f * e*e + 3.f/4.f * e*e*e; + } else if (1 <= e && e <= 2) { + w = 1.f/4.f * (2-e)*(2-e)*(2-e); + } else { + w = 0; + } + return 1.f/(PI*h*h*h)*w;*/ + + return 1.f/(PI*h*h*h) * MATHIFELSE( + 1.f - 3.f/2.f * e*e + 3.f/4.f * e*e*e, + MATHIFELSE( + 1.f/4.f * (2-e)*(2-e)*(2-e), + 0, + e > 2 + ), + e > 1 + ); +} + + +template void FluidSolver::particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal) { std::size_t attributeSize = sizeof(T); std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); #ifdef SPLATTING // if splatting - grid.clear(zeroVal); - std::vector distances(grid.countX() * grid.countY() * grid.countZ()); + /*grid.clear(zeroVal); + std::vector distances; + distances.resize(grid.countX() * grid.countY() * grid.countZ()); iterParticles([&](FluidParticle &particle) { size_t I,J,K; @@ -306,45 +364,137 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, std::memcpy(&temp, address, attributeSize); grid(i,j,k) += temp * (dist / distances[idx]) * (dist < radius); }); - }, false); + }, false);*/ #else // else splatting - grid.iterate([&](size_t I, size_t J, size_t K) { +/*#ifdef USETBB + tbb::parallel_for(tbb::blocked_range(0, grid.size()), [&](const tbb::blocked_range &r) { + for (size_t idx = r.begin(); idx != r.end(); idx++) { +#else + for (size_t idx = 0; idx < grid.size(); idx++) { +#endif + size_t I, J, K; + grid.toIJK(idx, I, J, K); glm::vec3 gridPos = grid.positionOf(I,J,K); size_t si, ei, sj, ej, sk, ek; _MAC.getNeighboorhood(I, J, K, cellRadius, si, ei, sj, ej, sk, ek); - float totalDist = 0.f; + float totalWeight = 0.f; for (size_t i = si; i < ei; i++) { for (size_t j = sj; j < ej; j++) { for (size_t k = sk; k < ek; k++) { + for (FluidParticle *particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + totalWeight += weight; + } + } + } + } + + if (totalWeight == 0) { + grid(I,J,K) = zeroVal; + continue; + } + + T temp; + T gridVal = zeroVal; + for (size_t i = si; i < ei; i++) { + for (size_t j = sj; j < ej; j++) { + for (size_t k = sk; k < ek; k++) { + for (FluidParticle *particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + void *address = (void *) particle + offset; + std::memcpy(&temp, address, attributeSize); + gridVal += temp * (weight / totalWeight); + } + } + } + } + + grid(I,J,K) = gridVal; #ifdef USETBB + }); +#else + } +#endif*/ + + grid.iterate([&](size_t I, size_t J, size_t K) { + glm::vec3 gridPos = grid.positionOf(I,J,K); + + size_t mI, mJ, mK, si, ei, sj, ej, sk, ek; + _MAC.indexOf(gridPos, mI, mJ, mK); + _MAC.getNeighboorhood(mI, mJ, mK, cellRadius, si, ei, sj, ej, sk, ek); + + float totalWeight = 0.f; +//#define TOOMUCH +#ifdef TOOMUCH // if toomuch + totalWeight += tbb::parallel_reduce( + tbb::blocked_range3d(si,ei,sj,ej,sk,ek), 0.f, + [&](const tbb::blocked_range3d &r, float init)->float { + for(size_t i=r.pages().begin(), i_end=r.pages().end(); i::iterator range_iterator; + init += tbb::parallel_reduce( + tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, + [&](const tbb::blocked_range &r2, float init2)->T { + for (range_iterator p = r2.begin(); p != r2.end(); p++) { + FluidParticle* particle = *p; + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + init2 += weight; + } + return init2; + }, std::plus() + ); + for (FluidParticle const* particle : _MAC(i,j,k)) { + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + init += weight; + } + } + } + } + return init; + }, + std::plus() + ); +#else // else toomuch + + for (size_t i = si; i < ei; i++) { + for (size_t j = sj; j < ej; j++) { + for (size_t k = sk; k < ek; k++) { +#ifdef USETB typedef std::vector::iterator range_iterator; - totalDist += tbb::parallel_reduce( - tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end(), 20), 0.f, + totalWeight += tbb::parallel_reduce( + tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, [&](const tbb::blocked_range &r, float init)->T { for (range_iterator p = r.begin(); p != r.end(); p++) { - float dist = glm::distance((*p)->pos, gridPos); - init += dist * (dist < radius); + FluidParticle* particle = *p; + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + init += weight; } return init; - }, std::plus()); + }, std::plus() + ); #else - for (FluidParticle* particle : _MAC(i,j,k)) { + for (FluidParticle const* particle : _MAC(i,j,k)) { float dist = glm::distance(particle->pos, gridPos); - if (dist < radius) { - totalDist += dist; - } + float weight = kernel(dist, radius/2.f); + totalWeight += weight; } #endif } } } - - if (totalDist == 0) { +#endif // endif toomuch + if (totalWeight == 0) { grid(I,J,K) = zeroVal; return; } @@ -354,32 +504,49 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offset, for (size_t i = si; i < ei; i++) { for (size_t j = sj; j < ej; j++) { for (size_t k = sk; k < ek; k++) { - for (FluidParticle *particle : _MAC(i,j,k)) { +#ifdef USETB + typedef std::vector::iterator range_iterator; + gridVal += tbb::parallel_reduce( + tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, + [&](const tbb::blocked_range &r, float init)->T { + for (range_iterator p = r.begin(); p != r.end(); p++) { + FluidParticle* particle = *p; + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + T tempVar; + void *address = (void *) particle + offset; + std::memcpy(&tempVar, address, attributeSize); + init += tempVar * (weight/totalWeight); + } + return init; + }, std::plus() + ); +#else + for (FluidParticle const* particle : _MAC(i,j,k)) { float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); void *address = (void *) particle + offset; std::memcpy(&temp, address, attributeSize); - gridVal += temp * (dist / totalDist) * (dist < radius); + gridVal += temp * (weight / totalWeight); } +#endif } } } - - grid(I,J,K) = gridVal; }); - #endif // endif splatting } -template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid &grid) { +template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid &grid) { glm::vec3 idx = grid.fractionalIndexOf(pos); size_t i = (size_t) floor(idx.x); size_t j = (size_t) floor(idx.y); size_t k = (size_t) floor(idx.z); - size_t I = (size_t) ceil(idx.x); - size_t J = (size_t) ceil(idx.y); - size_t K = (size_t) ceil(idx.z); + size_t I = (size_t) MATHIFELSE(ceil(idx.x), grid.countX()-1, ceil(idx.x) >= grid.countX()); + size_t J = (size_t) MATHIFELSE(ceil(idx.y), grid.countY()-1, ceil(idx.y) >= grid.countY()); + size_t K = (size_t) MATHIFELSE(ceil(idx.z), grid.countZ()-1, ceil(idx.z) >= grid.countZ()); T k1, k2, k3, k4, j1, j2, val; @@ -420,14 +587,30 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid val = MATHIFELSE((I-idx.x) * j1 + (idx.x-i) * j2, j1, i==I); + /*std::cout << i << ", " << j << ", " << k << ", " << I << ", " << J << ", " << K << std::endl; + + std::cout << + grid(i,j,k) << ", " << + grid(i,j,K) << ", " << + grid(i,J,k) << ", " << + grid(i,J,K) << ", " << + grid(I,j,k) << ", " << + grid(I,j,K) << ", " << + grid(I,J,k) << ", " << + grid(I,J,K) << ", " << + std::endl; + + std::cout << val << std::endl; + assert(abs(val) < 100);*/ + return val; } void FluidSolver::update(float step) { projectVelocitiesToGrid(); // pressure solve - enforceBoundary(); gravitySolve(step); + enforceBoundary(); transferVelocitiesToParticles(); updateParticlePositions(step); resolveCollisions(); diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 85c0b549..ce197788 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -41,8 +41,8 @@ class FluidSolver { float _cell_size; int frame; - template void particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal); - template T interpolateAttribute(const glm::vec3 &pos, Grid &grid); + template void particleAttributeToGrid(std::size_t offset, Grid &grid, float radius, T zeroVal); + template T interpolateAttribute(const glm::vec3 &pos, Grid &grid); void iterParticles(const std::function &cb, bool parallel=true); diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index 3fd069a9..789d7e77 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -23,9 +23,12 @@ template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &of _offset(offset), _dim(dim), _cellSize(size), - _countX((size_t) (std::ceil((_dim.x - _offset.x) / _cellSize))), - _countY((size_t) (std::ceil((_dim.y - _offset.y) / _cellSize))), - _countZ((size_t) (std::ceil((_dim.z - _offset.z) / _cellSize))) { + //_countX((size_t) (std::ceil((_dim.x - _offset.x) / _cellSize))), + //_countY((size_t) (std::ceil((_dim.y - _offset.y) / _cellSize))), + //_countZ((size_t) (std::ceil((_dim.z - _offset.z) / _cellSize))) { + _countX((size_t) (std::ceil((_dim.x) / _cellSize))), + _countY((size_t) (std::ceil((_dim.y) / _cellSize))), + _countZ((size_t) (std::ceil((_dim.z) / _cellSize))) { _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); } /* @@ -116,7 +119,7 @@ template void Grid::indexOf(const glm::vec3 &pos, size_t &i, siz glm::vec3 indices = (pos - _offset - _origin) / _cellSize; i = (size_t) ((indices.x <= _countX) * indices.x + (indices.x > _countX) * _countX); // clamp at countX j = (size_t) ((indices.y <= _countY) * indices.y + (indices.y > _countY) * _countY); // clamp at countY - k = (size_t) ((indices.x <= _countZ) * indices.z + (indices.z > _countZ) * _countZ); // clamp at countZ + k = (size_t) ((indices.z <= _countZ) * indices.z + (indices.z > _countZ) * _countZ); // clamp at countZ i = (i > 0) * i; j = (j > 0) * j; k = (k > 0) * k; @@ -142,6 +145,12 @@ template glm::ivec3 Grid::toIJK(const std::size_t index) const { return glm::ivec3(i,j,k); } +template void Grid::toIJK(const std::size_t index, size_t &i, size_t &j, size_t &k) const { + i = (index % _countZ); + j = ((index / _countZ) % _countY); + k = (index / (_countY * _countZ)); +} + template std::size_t Grid::fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const { return (size_t) (k * _countX * _countY + j * _countX + i); } @@ -175,8 +184,9 @@ template void Grid::iterate(const std::function void Grid::iterateRegion(size_t i, size_t j, size_t k, size_t I, size_t J, size_t K, const std::function &cb, bool parallel) { #ifdef USETBB + tbb::blocked_range3d test(i,j,k,I,J,K); if (parallel) { - tbb::parallel_for(tbb::blocked_range3d(i,j,k,I,J,K), [&](const tbb::blocked_range3d &r) { + tbb::parallel_for(tbb::blocked_range3d(i,I,j,J,k,K), [&](const tbb::blocked_range3d &r) { for(size_t ii=r.pages().begin(), i_end=r.pages().end(); ii void Grid::iterateNeighborhood(size_t i, size_t j, size } template void Grid::getNeighboorhood(size_t i, size_t j, size_t k, size_t r, size_t &si, size_t &ei, size_t &sj, size_t &ej, size_t &sk, size_t &ek) { - si = MATHIFELSE(i - r, 0, i == 0); - sj = MATHIFELSE(j - r, 0, j == 0); - sk = MATHIFELSE(k - r, 0, k == 0); + si = MATHIFELSE(i - r, 0, i - r > i); + sj = MATHIFELSE(j - r, 0, j - r > j); + sk = MATHIFELSE(k - r, 0, k - r > k); ei = std::min(i+r+1, _countX); //MATHIFELSE(i + r, _countX, i + r >= _countX); ej = std::min(j+r+1, _countY); //MATHIFELSE(j + r, _countY, j + r >= _countY); ek = std::min(k+r+1, _countZ); //MATHIFELSE(k + r, _countZ, k + r >= _countZ); @@ -289,9 +299,10 @@ template size_t Grid::countZ() const { return _countZ; } - +template size_t Grid::size() const { + return _contents.size(); +} template class Grid; template class Grid; template class Grid > >; - diff --git a/core/solver/grid/Grid.h b/core/solver/grid/Grid.h index 87fc13c2..b7fe527d 100644 --- a/core/solver/grid/Grid.h +++ b/core/solver/grid/Grid.h @@ -11,7 +11,9 @@ #include template class Grid { + friend class GridIterator; friend class GridVectorAttributePainter; + friend class GridScalarAttributePainter; public: Grid(); Grid(const glm::vec3 &origin, const glm::vec3 &offset, const glm::vec3 &dim, float size); @@ -40,6 +42,7 @@ template class Grid { glm::vec3 fractionalIndexOf(const glm::vec3 &pos) const; glm::ivec3 toIJK(const std::size_t index) const; + void toIJK(const std::size_t index, size_t &i, size_t &j, size_t &k) const; std::size_t fromIJK(const std::size_t i, const std::size_t j, const std::size_t k) const; std::size_t fromIJK(const glm::ivec3 &ijk) const; @@ -57,6 +60,7 @@ template class Grid { size_t countX() const; size_t countY() const; size_t countZ() const; + size_t size() const; virtual ~Grid(); diff --git a/core/util/flags.h b/core/util/flags.h index e85049e7..265b643c 100644 --- a/core/util/flags.h +++ b/core/util/flags.h @@ -8,4 +8,4 @@ #endif //FLUIDSOLVER_FLAGS_H #define USETBB -#define SPLATTING \ No newline at end of file +//#define SPLATTING \ No newline at end of file diff --git a/main.cpp b/main.cpp index 550ffb2f..a5934d35 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -20,12 +21,15 @@ int main(int argc, char* argv[]) { GridVectorAttributePainter uPainter (&solver->_MAC._gU, 3.f, glm::vec3(1,0,0), glm::vec3(0.1,0,0)); GridVectorAttributePainter vPainter (&solver->_MAC._gV, 3.f, glm::vec3(0,1,0), glm::vec3(0,0.1,0)); GridVectorAttributePainter wPainter (&solver->_MAC._gW, 3.f, glm::vec3(0,0,1), glm::vec3(0,0,0.1)); + GridScalarAttributePainter tPainter ( + &solver->_MAC._gType, 0.f, 2.f, 0.f, 2.f, glm::vec3(1,1,1), glm::vec3(0,0,0.1)); window->addPainter(&particlesPainter); window->addPainter(&boxPainter); window->addPainter(&uPainter); window->addPainter(&vPainter); window->addPainter(&wPainter); + window->addPainter(&tPainter); window->loadSceneCB = [](void*) { std::cout << "what" << std::endl; @@ -52,7 +56,7 @@ int main(int argc, char* argv[]) { std::string filename = "particles_"; filename.append(std::to_string(++frame)); filename.append(".vdb"); - particlesWriter.writeData(solver, filename); + //particlesWriter.writeData(solver, filename); } }); From 133f6799a53eb26b5c17211d3eadeb8ae6b9bb98 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 28 Mar 2016 20:29:10 -0400 Subject: [PATCH 20/29] cleanup --- core/camera/Camera.cpp | 2 +- core/solver/FluidSolver.cpp | 258 +++++++++++------------------------- main.cpp | 4 +- 3 files changed, 79 insertions(+), 185 deletions(-) diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp index 35078498..aafdbcf6 100644 --- a/core/camera/Camera.cpp +++ b/core/camera/Camera.cpp @@ -19,7 +19,7 @@ Camera::Camera(int w, int h) : up(glm::cross(right, look)), rotation(glm::mat4(1.f)) { - rotation = glm::rotate(rotation, -PI/4, glm::vec3(1,0,0)); + //rotation = glm::rotate(rotation, -PI/4, glm::vec3(1,0,0)); //rotation = glm::rotate(rotation, -PI/2, glm::vec3(0,1,0)); recomputeEye(); diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 705b7e4b..03bb2fee 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -103,7 +103,7 @@ void FluidSolver::projectVelocitiesToGrid() { } void FluidSolver::transferVelocitiesToParticles() { - float smooth = 0.15f; + float smooth = 0.05f; #ifdef USETBB tbb::parallel_invoke( @@ -161,86 +161,26 @@ void FluidSolver::transferVelocitiesToParticles() { } void FluidSolver::enforceBoundary() { - -#ifdef USETBB - tbb::parallel_invoke( - [&]() { - _MAC._gU.iterateRegion(0, 0, 0, - 1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gU(i,j,k) = 0.f; - }); - }, - [&]() { - _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, - _MAC._gU.countX(), _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gU(i,j,k) = 0.f; - }); - }, - [&]() { - _MAC._gV.iterateRegion(0, 0, 0, - _MAC._gV.countX(), 1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gV(i,j,k) = 0.f; - }); - }, - [&]() { - _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, - _MAC._gV.countX(), _MAC._gV.countY(), _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gV(i,j,k) = 0.f; - }); - }, - [&]() { - _MAC._gW.iterateRegion(0, 0, 0, - _MAC._gW.countX(), _MAC._gW.countY(), 1, [&](size_t i, size_t j, size_t k) { - _MAC._gW(i,j,k) = 0.f; - }); - }, - [&]() { - _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, - _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gW(i,j,k) = 0.f; - }); + _MAC._gType.iterate([&](size_t i, size_t j, size_t k) { + switch (_MAC._gType(i,j,k)) { + case EMPTY:break; + case FLUID:break; + case SOLID: + size_t si, ei, sj, ej, sk, ek; + _MAC._gType.getNeighboorhood(i,j,k,1,si,ei,sj,ej,sk,ek); + _MAC._gU(i,j,k) = std::min(_MAC._gU(i,j,k), 0.f); + _MAC._gU(ei-1,j,k) = std::max(_MAC._gU(ei-1,j,k), 0.f); + _MAC._gV(i,j,k) = std::min(_MAC._gV(i,j,k), 0.f); + _MAC._gV(i,ej-1,k) = std::max(_MAC._gV(i,ej-1,k), 0.f); + _MAC._gW(i,j,k) = std::min(_MAC._gW(i,j,k), 0.f); + _MAC._gW(i,j,k-1) = std::max(_MAC._gW(i,j,k-1), 0.f); + break; + default:break; } - ); -#else - _MAC._gU.iterateRegion(0, 0, 0, 1, _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gU(i,j,k) = 0.f; - }); - _MAC._gU.iterateRegion(_MAC._gU.countX()-1, 0, 0, _MAC._gU.countX(), _MAC._gU.countY(), _MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gU(i,j,k) = 0.f; - }); - _MAC._gV.iterateRegion(0, 0, 0, _MAC._gV.countX(), 1, _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { - //_MAC._gV_old(i,j,k) = _MAC._gV(i,j,k); - _MAC._gV(i,j,k) = 0.f; - }); - _MAC._gV.iterateRegion(0, _MAC._gV.countY()-1, 0, _MAC._gV.countX(), _MAC._gV.countY(), _MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { - //_MAC._gV_old(i,j,k) = _MAC._gV(i,j,k); - //_MAC._gV(i,j,k) = 0.f; - }); - _MAC._gW.iterateRegion(0, 0, 0, _MAC._gW.countX(), _MAC._gW.countY(), 1, [&](size_t i, size_t j, size_t k) { - _MAC._gW(i,j,k) = 0.f; }); - _MAC._gW.iterateRegion(0, 0, _MAC._gW.countZ()-1, _MAC._gW.countX(), _MAC._gW.countY(), _MAC._gW.countZ(), [&](size_t i, size_t j, size_t k) { - _MAC._gW(i,j,k) = 0.f; - }); -#endif - } void FluidSolver::gravitySolve(float step) { -/* -#ifdef USETBB - tbb::parallel_for(tbb::blocked_range(0, _particles.size()), [&](const tbb::blocked_range &r) { - for (size_t i = r.begin(); i != r.end(); ++i) { - FluidParticle &particle = _particles[i]; - particle.vel.y += g*step; - } - }); -#else - for (FluidParticle &particle : _particles) { - particle.vel.y += g*step; - } -#endif -*/ _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { _MAC._gV(i,j,k) += g*step; }); @@ -285,7 +225,7 @@ void FluidSolver::resolveCollisions() { if (_container->collides(particle.pos_old, particle.pos, normal)) { particle.col = glm::vec3(1,0,0); glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); - //particle.vel *= mask; + particle.vel *= mask; particle.pos = particle.pos_old; } } @@ -294,8 +234,10 @@ void FluidSolver::resolveCollisions() { void FluidSolver::updateCells() { _MAC.clear(std::vector()); + _MAC._gType.clear(EMPTY); for (FluidParticle &particle : _particles) { particle.cell = _MAC.indexOf(particle.pos); + _MAC._gType(particle.cell) = FLUID; if (_MAC.checkIdx(particle.cell)) { _MAC(particle.cell).push_back(&particle); } else { @@ -304,20 +246,21 @@ void FluidSolver::updateCells() { } + std::function setSolid = [&](size_t i, size_t j, size_t k) { + _MAC._gType(i,j,k) = SOLID; + }; + + _MAC._gType.iterateRegion(0,0,0, 1,_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(_MAC._gType.countX()-1,0,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),1,_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,_MAC._gType.countY()-1,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),_MAC._gType.countY(),1, setSolid); + _MAC._gType.iterateRegion(0,0,_MAC._gType.countZ()-1, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + } float kernel(float r, float h) { float e = r/h; - /*float w; - if (0 <= e && e <=1) { - w = 1.f - 3.f/2.f * e*e + 3.f/4.f * e*e*e; - } else if (1 <= e && e <= 2) { - w = 1.f/4.f * (2-e)*(2-e)*(2-e); - } else { - w = 0; - } - return 1.f/(PI*h*h*h)*w;*/ - return 1.f/(PI*h*h*h) * MATHIFELSE( 1.f - 3.f/2.f * e*e + 3.f/4.f * e*e*e, MATHIFELSE( @@ -335,9 +278,8 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); #ifdef SPLATTING // if splatting - /*grid.clear(zeroVal); - std::vector distances; - distances.resize(grid.countX() * grid.countY() * grid.countZ()); + grid.clear(zeroVal); + std::vector distances(grid.countX() * grid.countY() * grid.countZ()); iterParticles([&](FluidParticle &particle) { size_t I,J,K; @@ -364,11 +306,10 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse std::memcpy(&temp, address, attributeSize); grid(i,j,k) += temp * (dist / distances[idx]) * (dist < radius); }); - }, false);*/ + }, false); #else // else splatting - /*#ifdef USETBB tbb::parallel_for(tbb::blocked_range(0, grid.size()), [&](const tbb::blocked_range &r) { for (size_t idx = r.begin(); idx != r.end(); idx++) { @@ -432,7 +373,7 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse float totalWeight = 0.f; //#define TOOMUCH -#ifdef TOOMUCH // if toomuch +#ifdef TOOMUCH totalWeight += tbb::parallel_reduce( tbb::blocked_range3d(si,ei,sj,ej,sk,ek), 0.f, [&](const tbb::blocked_range3d &r, float init)->float { @@ -442,7 +383,7 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse typedef std::vector::iterator range_iterator; init += tbb::parallel_reduce( tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, - [&](const tbb::blocked_range &r2, float init2)->T { + [&](const tbb::blocked_range &r2, float init2)->float { for (range_iterator p = r2.begin(); p != r2.end(); p++) { FluidParticle* particle = *p; float dist = glm::distance(particle->pos, gridPos); @@ -452,11 +393,6 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse return init2; }, std::plus() ); - for (FluidParticle const* particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - init += weight; - } } } } @@ -464,36 +400,53 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse }, std::plus() ); -#else // else toomuch + T gridVal = zeroVal; + gridVal += tbb::parallel_reduce( + tbb::blocked_range3d(si,ei,sj,ej,sk,ek), 0.f, + [&](const tbb::blocked_range3d &r, float init)->T { + for(size_t i=r.pages().begin(), i_end=r.pages().end(); i::iterator range_iterator; + init += tbb::parallel_reduce( + tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, + [&](const tbb::blocked_range &r2, float init2)->T { + for (range_iterator p = r2.begin(); p != r2.end(); p++) { + FluidParticle* particle = *p; + float dist = glm::distance(particle->pos, gridPos); + float weight = kernel(dist, radius/2.f); + T temp; + void *address = (void *) particle + offset; + std::memcpy(&temp, address, attributeSize); + init2 += temp * (weight / totalWeight); + } + return init2; + }, std::plus() + ); + } + } + } + return init; + }, + std::plus() + ); + + grid(I,J,K) = gridVal; + +#else for (size_t i = si; i < ei; i++) { for (size_t j = sj; j < ej; j++) { for (size_t k = sk; k < ek; k++) { -#ifdef USETB - typedef std::vector::iterator range_iterator; - totalWeight += tbb::parallel_reduce( - tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, - [&](const tbb::blocked_range &r, float init)->T { - for (range_iterator p = r.begin(); p != r.end(); p++) { - FluidParticle* particle = *p; - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - init += weight; - } - return init; - }, std::plus() - ); -#else - for (FluidParticle const* particle : _MAC(i,j,k)) { + for (FluidParticle const *particle : _MAC(i, j, k)) { float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); + float weight = kernel(dist, radius / 2.f); totalWeight += weight; } -#endif } } } -#endif // endif toomuch + if (totalWeight == 0) { grid(I,J,K) = zeroVal; return; @@ -504,38 +457,21 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse for (size_t i = si; i < ei; i++) { for (size_t j = sj; j < ej; j++) { for (size_t k = sk; k < ek; k++) { -#ifdef USETB - typedef std::vector::iterator range_iterator; - gridVal += tbb::parallel_reduce( - tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, - [&](const tbb::blocked_range &r, float init)->T { - for (range_iterator p = r.begin(); p != r.end(); p++) { - FluidParticle* particle = *p; - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - T tempVar; - void *address = (void *) particle + offset; - std::memcpy(&tempVar, address, attributeSize); - init += tempVar * (weight/totalWeight); - } - return init; - }, std::plus() - ); -#else - for (FluidParticle const* particle : _MAC(i,j,k)) { + for (FluidParticle const *particle : _MAC(i, j, k)) { float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); + float weight = kernel(dist, radius / 2.f); void *address = (void *) particle + offset; std::memcpy(&temp, address, attributeSize); gridVal += temp * (weight / totalWeight); } -#endif } } } grid(I,J,K) = gridVal; +#endif }); + #endif // endif splatting } @@ -550,32 +486,6 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, G T k1, k2, k3, k4, j1, j2, val; - /*if (k == K) { - k1 = grid(i,j,k); - k2 = grid(i,J,k); - k3 = grid(I,j,k); - k4 = grid(I,J,k); - } else { - k1 = (idx.z-k) * grid(i,j,k) + (K-idx.z) * grid(i,j,K); - k2 = (idx.z-k) * grid(i,J,k) + (K-idx.z) * grid(i,J,K); - k3 = (idx.z-k) * grid(I,j,k) + (K-idx.z) * grid(I,j,K); - k4 = (idx.z-k) * grid(I,J,k) + (K-idx.z) * grid(I,J,K); - } - - if (j == J) { - j1 = k1; - j2 = k3; - } else { - j1 = (idx.y-j) * k1 + (J-idx.y) * k2; - j2 = (idx.y-j) * k3 + (J-idx.y) * k4; - } - - if (i == I) { - val = j1; - } else { - val = (idx.x-i) * j1 + (I-idx.x) * j2; - }*/ - // this is reverse from what is expected because we want smaller value (closer distance) to have larger influence k1 = MATHIFELSE((K-idx.z) * grid(i,j,k) + (idx.z-k) * grid(i,j,K), grid(i,j,k), k==K); k2 = MATHIFELSE((K-idx.z) * grid(i,J,k) + (idx.z-k) * grid(i,J,K), grid(i,J,k), k==K); @@ -587,22 +497,6 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, G val = MATHIFELSE((I-idx.x) * j1 + (idx.x-i) * j2, j1, i==I); - /*std::cout << i << ", " << j << ", " << k << ", " << I << ", " << J << ", " << K << std::endl; - - std::cout << - grid(i,j,k) << ", " << - grid(i,j,K) << ", " << - grid(i,J,k) << ", " << - grid(i,J,K) << ", " << - grid(I,j,k) << ", " << - grid(I,j,K) << ", " << - grid(I,J,k) << ", " << - grid(I,J,K) << ", " << - std::endl; - - std::cout << val << std::endl; - assert(abs(val) < 100);*/ - return val; } diff --git a/main.cpp b/main.cpp index a5934d35..ea6af63b 100644 --- a/main.cpp +++ b/main.cpp @@ -22,14 +22,14 @@ int main(int argc, char* argv[]) { GridVectorAttributePainter vPainter (&solver->_MAC._gV, 3.f, glm::vec3(0,1,0), glm::vec3(0,0.1,0)); GridVectorAttributePainter wPainter (&solver->_MAC._gW, 3.f, glm::vec3(0,0,1), glm::vec3(0,0,0.1)); GridScalarAttributePainter tPainter ( - &solver->_MAC._gType, 0.f, 2.f, 0.f, 2.f, glm::vec3(1,1,1), glm::vec3(0,0,0.1)); + &solver->_MAC._gType, 0.f, 2.f, 2.f, 4.f, glm::vec3(1,1,1), glm::vec3(0,0,0.1)); window->addPainter(&particlesPainter); window->addPainter(&boxPainter); window->addPainter(&uPainter); window->addPainter(&vPainter); window->addPainter(&wPainter); - window->addPainter(&tPainter); + //window->addPainter(&tPainter); window->loadSceneCB = [](void*) { std::cout << "what" << std::endl; From 762c4fce569d80074ca2aae34bf8a989d68608d6 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Mon, 28 Mar 2016 21:28:04 -0400 Subject: [PATCH 21/29] RK2 --- core/solver/FluidSolver.cpp | 49 +++++++++++++++++++++++++++++++++---- core/solver/FluidSolver.h | 1 + 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 03bb2fee..d6a370e1 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -173,7 +173,7 @@ void FluidSolver::enforceBoundary() { _MAC._gV(i,j,k) = std::min(_MAC._gV(i,j,k), 0.f); _MAC._gV(i,ej-1,k) = std::max(_MAC._gV(i,ej-1,k), 0.f); _MAC._gW(i,j,k) = std::min(_MAC._gW(i,j,k), 0.f); - _MAC._gW(i,j,k-1) = std::max(_MAC._gW(i,j,k-1), 0.f); + _MAC._gW(i,j,ek-1) = std::max(_MAC._gW(i,j,ek-1), 0.f); break; default:break; } @@ -186,6 +186,38 @@ void FluidSolver::gravitySolve(float step) { }); } +void FluidSolver::extrapolateVelocity() { + _MAC._gType.iterate([&](size_t i, size_t j, size_t k) { + if (_MAC._gType(i,j,k) != FLUID) { + if (i > 0 && _MAC._gType(i-1,j,k) == FLUID) { + + } + if (i+1 < _MAC._gType.countX() && _MAC._gType(i+1,j,k) == FLUID) { + + } + if (j > 0 && _MAC._gType(i,j-1,k) == FLUID) { + + } + if (j+1 < _MAC._gType.countY() && _MAC._gType(i,j+1,k) == FLUID) { + + } + if (k > 0 && _MAC._gType(i,j,k-1) == FLUID) { + + } + if (k+1 < _MAC._gType.countZ() && _MAC._gType(i,j,k+1) == FLUID) { + + } + + //size_t si, ei, sj, ej, sk, ek; + int count = 0; + //_MAC._gType.getNeighboorhood(i,j,k,1,si,ei,sj,ej,sk,ek) { + + + //_MAC._gU(i,j,k) = 2.f; + } + }); +} + void FluidSolver::updateParticlePositions(float step) { #ifdef USETBB @@ -193,7 +225,13 @@ void FluidSolver::updateParticlePositions(float step) { for (size_t i = r.begin(); i != r.end(); ++i) { FluidParticle &particle = _particles[i]; particle.pos_old = particle.pos; - particle.pos += particle.vel * step; + + glm::vec3 k1 = step*particle.vel; // step * velAt(pos) + particle.pos += step * glm::vec3( + interpolateAttribute(particle.pos + 0.5f*k1, _MAC._gU), + interpolateAttribute(particle.pos + 0.5f*k1, _MAC._gV), + interpolateAttribute(particle.pos + 0.5f*k1, _MAC._gW) + ); } }); #else @@ -214,7 +252,7 @@ void FluidSolver::resolveCollisions() { if (_container->collides(particle.pos_old, particle.pos, normal)) { particle.col = glm::vec3(1,0,0); glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); - particle.vel *= mask; + //particle.vel *= mask; particle.pos = particle.pos_old; } } @@ -225,7 +263,7 @@ void FluidSolver::resolveCollisions() { if (_container->collides(particle.pos_old, particle.pos, normal)) { particle.col = glm::vec3(1,0,0); glm::vec3 mask = glm::vec3(1,1,1) - glm::abs(normal); - particle.vel *= mask; + //particle.vel *= mask; particle.pos = particle.pos_old; } } @@ -503,8 +541,9 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, G void FluidSolver::update(float step) { projectVelocitiesToGrid(); // pressure solve - gravitySolve(step); enforceBoundary(); + gravitySolve(step); + extrapolateVelocity(); transferVelocitiesToParticles(); updateParticlePositions(step); resolveCollisions(); diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index ce197788..01983e7e 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -26,6 +26,7 @@ class FluidSolver { void transferVelocitiesToParticles(); void enforceBoundary(); void gravitySolve(float step); + void extrapolateVelocity(); void updateParticlePositions(float step); void resolveCollisions(); void updateCells(); From 001bd9f58f68df79eb9ee7357d4ffeffb46343b2 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Wed, 30 Mar 2016 00:54:14 -0400 Subject: [PATCH 22/29] velocity extrapolation --- core/display/shaders/gridAttr.vert.h | 1 + core/solver/FluidParticle.h | 2 +- core/solver/FluidSolver.cpp | 57 +++++++++++++++++----------- main.cpp | 2 +- 4 files changed, 38 insertions(+), 24 deletions(-) diff --git a/core/display/shaders/gridAttr.vert.h b/core/display/shaders/gridAttr.vert.h index 377e2e64..1efccb4c 100644 --- a/core/display/shaders/gridAttr.vert.h +++ b/core/display/shaders/gridAttr.vert.h @@ -28,4 +28,5 @@ void main() { } )"; + #endif \ No newline at end of file diff --git a/core/solver/FluidParticle.h b/core/solver/FluidParticle.h index 70417d3e..3d10c242 100644 --- a/core/solver/FluidParticle.h +++ b/core/solver/FluidParticle.h @@ -17,7 +17,7 @@ struct FluidParticle { FluidParticle() { pos = glm::vec3(0); pos_old = glm::vec3(0); - vel = glm::vec3(0); + vel = glm::vec3(0,0,0); col = glm::vec3(0.5f, 0.5f, 1.f); } }; diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index d6a370e1..39fb09ad 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -189,31 +189,43 @@ void FluidSolver::gravitySolve(float step) { void FluidSolver::extrapolateVelocity() { _MAC._gType.iterate([&](size_t i, size_t j, size_t k) { if (_MAC._gType(i,j,k) != FLUID) { - if (i > 0 && _MAC._gType(i-1,j,k) == FLUID) { - - } - if (i+1 < _MAC._gType.countX() && _MAC._gType(i+1,j,k) == FLUID) { - - } - if (j > 0 && _MAC._gType(i,j-1,k) == FLUID) { - - } - if (j+1 < _MAC._gType.countY() && _MAC._gType(i,j+1,k) == FLUID) { - + bool leftExists = i > 0; + bool rightExists = i+1 < _MAC._gType.countX(); + bool belowExists = j > 0; + bool aboveExists = j+1 < _MAC._gType.countY(); + bool backExists = k > 0; + bool frontExists = k+1 < _MAC._gType.countZ(); + + bool leftFluid = leftExists && _MAC._gType(i-1,j,k) == FLUID; + bool rightFluid = rightExists < _MAC._gType.countX() && _MAC._gType(i+1,j,k) == FLUID; + bool belowFluid = belowExists && _MAC._gType(i,j-1,k) == FLUID; + bool aboveFluid = aboveExists < _MAC._gType.countY() && _MAC._gType(i,j+1,k) == FLUID; + bool backFluid = backExists && _MAC._gType(i,j,k-1) == FLUID; + bool frontFluid = frontExists < _MAC._gType.countZ() && _MAC._gType(i,j,k+1) == FLUID; + + if (leftFluid != rightFluid) { + if (leftFluid && rightExists) { + _MAC._gU(i+1,j,k) = _MAC._gU(i,j,k); + } else if (rightFluid && leftExists) { + _MAC._gU(i,j,k) = _MAC._gU(i+1,j,k); + } } - if (k > 0 && _MAC._gType(i,j,k-1) == FLUID) { + if (belowFluid != aboveFluid) { + if (belowFluid && aboveExists) { + _MAC._gV(i,j+1,k) = _MAC._gV(i,j,k); + } else if (aboveFluid && belowExists) { + _MAC._gV(i,j,k) = _MAC._gV(i,j+1,k); + } } - if (k+1 < _MAC._gType.countZ() && _MAC._gType(i,j,k+1) == FLUID) { + if (backFluid != frontFluid) { + if (backFluid && frontExists) { + _MAC._gV(i,j,k+1) = _MAC._gV(i,j,k); + } else if (frontFluid && backExists) { + _MAC._gV(i,j,k) = _MAC._gV(i,j,k+1); + } } - - //size_t si, ei, sj, ej, sk, ek; - int count = 0; - //_MAC._gType.getNeighboorhood(i,j,k,1,si,ei,sj,ej,sk,ek) { - - - //_MAC._gU(i,j,k) = 2.f; } }); } @@ -226,7 +238,7 @@ void FluidSolver::updateParticlePositions(float step) { FluidParticle &particle = _particles[i]; particle.pos_old = particle.pos; - glm::vec3 k1 = step*particle.vel; // step * velAt(pos) + glm::vec3 k1 = step*particle.vel; particle.pos += step * glm::vec3( interpolateAttribute(particle.pos + 0.5f*k1, _MAC._gU), interpolateAttribute(particle.pos + 0.5f*k1, _MAC._gV), @@ -540,9 +552,10 @@ template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, G void FluidSolver::update(float step) { projectVelocitiesToGrid(); + gravitySolve(step); + enforceBoundary(); // pressure solve enforceBoundary(); - gravitySolve(step); extrapolateVelocity(); transferVelocitiesToParticles(); updateParticlePositions(step); diff --git a/main.cpp b/main.cpp index ea6af63b..f8473ea9 100644 --- a/main.cpp +++ b/main.cpp @@ -56,7 +56,7 @@ int main(int argc, char* argv[]) { std::string filename = "particles_"; filename.append(std::to_string(++frame)); filename.append(".vdb"); - //particlesWriter.writeData(solver, filename); + particlesWriter.writeData(solver, filename); } }); From b6953dbee47e091a5d4c484c4edc4ca191379672 Mon Sep 17 00:00:00 2001 From: Austin Eng <213reeses@gmail.com> Date: Fri, 8 Apr 2016 02:27:49 -0400 Subject: [PATCH 23/29] pressure does something! --- core/camera/Camera.cpp | 4 +- core/display/Window.cpp | 2 +- .../painters/GridScalarAttributePainter.cpp | 10 + .../painters/GridScalarAttributePainter.h | 1 + core/display/shaders/gridScal.vert.h | 7 + core/scenes/default.h | 4 +- core/solver/FluidSolver.cpp | 448 ++-- core/solver/FluidSolver.h | 1 + core/solver/grid/Grid.cpp | 19 +- core/solver/grid/MACGrid.h | 1 + main.cpp | 18 +- nuparu/include/Eigen/Array | 11 - nuparu/include/Eigen/COPYING.BSD | 26 - nuparu/include/Eigen/COPYING.GPL | 674 ----- nuparu/include/Eigen/COPYING.LGPL | 502 ---- nuparu/include/Eigen/COPYING.MINPACK | 52 - nuparu/include/Eigen/COPYING.MPL2 | 373 --- nuparu/include/Eigen/COPYING.README | 18 - nuparu/include/Eigen/Cholesky | 14 +- nuparu/include/Eigen/CholmodSupport | 11 +- nuparu/include/Eigen/Core | 201 +- nuparu/include/Eigen/Eigen | 2 +- nuparu/include/Eigen/Eigen2Support | 82 - nuparu/include/Eigen/Eigenvalues | 7 + nuparu/include/Eigen/Geometry | 49 +- nuparu/include/Eigen/Householder | 7 + nuparu/include/Eigen/IterativeLinearSolvers | 24 +- nuparu/include/Eigen/Jacobi | 7 + nuparu/include/Eigen/LU | 18 +- nuparu/include/Eigen/LeastSquares | 32 - nuparu/include/Eigen/MetisSupport | 7 + nuparu/include/Eigen/OrderingMethods | 7 + nuparu/include/Eigen/PaStiXSupport | 11 +- nuparu/include/Eigen/PardisoSupport | 9 +- nuparu/include/Eigen/QR | 20 +- nuparu/include/Eigen/QtAlignedMalloc | 6 + nuparu/include/Eigen/SPQRSupport | 9 +- nuparu/include/Eigen/SVD | 22 +- nuparu/include/Eigen/Sparse | 13 +- nuparu/include/Eigen/SparseCholesky | 2 - nuparu/include/Eigen/SparseCore | 35 +- nuparu/include/Eigen/SparseLU | 3 - nuparu/include/Eigen/SparseQR | 10 +- nuparu/include/Eigen/StdDeque | 2 +- nuparu/include/Eigen/StdList | 2 +- nuparu/include/Eigen/StdVector | 2 +- nuparu/include/Eigen/SuperLUSupport | 13 +- nuparu/include/Eigen/UmfPackSupport | 10 +- nuparu/include/Eigen/src/Cholesky/LDLT.h | 233 +- nuparu/include/Eigen/src/Cholesky/LLT.h | 106 +- nuparu/include/Eigen/src/Cholesky/LLT_MKL.h | 12 +- .../Eigen/src/CholmodSupport/CholmodSupport.h | 149 +- nuparu/include/Eigen/src/Core/Array.h | 127 +- nuparu/include/Eigen/src/Core/ArrayBase.h | 70 +- nuparu/include/Eigen/src/Core/ArrayWrapper.h | 57 +- nuparu/include/Eigen/src/Core/Assign.h | 533 +--- .../include/Eigen/src/Core/AssignEvaluator.h | 810 ++++++ nuparu/include/Eigen/src/Core/Assign_MKL.h | 254 +- nuparu/include/Eigen/src/Core/BandMatrix.h | 37 +- nuparu/include/Eigen/src/Core/Block.h | 125 +- nuparu/include/Eigen/src/Core/BooleanRedux.h | 50 +- nuparu/include/Eigen/src/Core/CMakeLists.txt | 1 + .../include/Eigen/src/Core/CommaInitializer.h | 24 +- .../include/Eigen/src/Core/CoreEvaluators.h | 1376 ++++++++++ nuparu/include/Eigen/src/Core/CoreIterators.h | 140 +- nuparu/include/Eigen/src/Core/CwiseBinaryOp.h | 121 +- .../include/Eigen/src/Core/CwiseNullaryOp.h | 125 +- nuparu/include/Eigen/src/Core/CwiseUnaryOp.h | 57 +- .../include/Eigen/src/Core/CwiseUnaryView.h | 47 +- nuparu/include/Eigen/src/Core/DenseBase.h | 359 ++- .../include/Eigen/src/Core/DenseCoeffsBase.h | 243 +- nuparu/include/Eigen/src/Core/DenseStorage.h | 470 +++- nuparu/include/Eigen/src/Core/Diagonal.h | 58 +- .../include/Eigen/src/Core/DiagonalMatrix.h | 133 +- .../include/Eigen/src/Core/DiagonalProduct.h | 106 +- nuparu/include/Eigen/src/Core/Dot.h | 60 +- nuparu/include/Eigen/src/Core/EigenBase.h | 76 +- nuparu/include/Eigen/src/Core/Flagged.h | 140 - .../Eigen/src/Core/ForceAlignedAccess.h | 24 +- nuparu/include/Eigen/src/Core/Functors.h | 985 ------- nuparu/include/Eigen/src/Core/Fuzzy.h | 13 +- .../include/Eigen/src/Core/GeneralProduct.h | 436 +--- .../Eigen/src/Core/GenericPacketMath.h | 329 ++- .../include/Eigen/src/Core/GlobalFunctions.h | 67 +- nuparu/include/Eigen/src/Core/IO.h | 16 +- nuparu/include/Eigen/src/Core/Inverse.h | 117 + nuparu/include/Eigen/src/Core/Map.h | 69 +- nuparu/include/Eigen/src/Core/MapBase.h | 61 +- nuparu/include/Eigen/src/Core/MathFunctions.h | 517 +++- nuparu/include/Eigen/src/Core/Matrix.h | 204 +- nuparu/include/Eigen/src/Core/MatrixBase.h | 362 +-- nuparu/include/Eigen/src/Core/NestByValue.h | 20 +- nuparu/include/Eigen/src/Core/NoAlias.h | 60 +- nuparu/include/Eigen/src/Core/NumTraits.h | 45 +- .../Eigen/src/Core/PermutationMatrix.h | 328 +-- .../include/Eigen/src/Core/PlainObjectBase.h | 366 ++- nuparu/include/Eigen/src/Core/Product.h | 222 ++ nuparu/include/Eigen/src/Core/ProductBase.h | 278 -- .../Eigen/src/Core/ProductEvaluators.h | 1061 ++++++++ nuparu/include/Eigen/src/Core/Random.h | 55 +- nuparu/include/Eigen/src/Core/Redux.h | 178 +- nuparu/include/Eigen/src/Core/Ref.h | 95 +- nuparu/include/Eigen/src/Core/Replicate.h | 66 +- nuparu/include/Eigen/src/Core/ReturnByValue.h | 38 +- nuparu/include/Eigen/src/Core/Reverse.h | 181 +- nuparu/include/Eigen/src/Core/Select.h | 22 +- .../include/Eigen/src/Core/SelfAdjointView.h | 212 +- .../Eigen/src/Core/SelfCwiseBinaryOp.h | 176 +- nuparu/include/Eigen/src/Core/Solve.h | 173 ++ .../include/Eigen/src/Core/SolveTriangular.h | 70 +- nuparu/include/Eigen/src/Core/SolverBase.h | 130 + .../include/Eigen/src/Core/SpecialFunctions.h | 160 ++ nuparu/include/Eigen/src/Core/StableNorm.h | 75 +- nuparu/include/Eigen/src/Core/Stride.h | 21 +- nuparu/include/Eigen/src/Core/Swap.h | 149 +- nuparu/include/Eigen/src/Core/Transpose.h | 146 +- .../include/Eigen/src/Core/Transpositions.h | 185 +- .../include/Eigen/src/Core/TriangularMatrix.h | 1060 ++++---- nuparu/include/Eigen/src/Core/VectorBlock.h | 2 + nuparu/include/Eigen/src/Core/VectorwiseOp.h | 315 ++- nuparu/include/Eigen/src/Core/Visitor.h | 62 +- .../Eigen/src/Core/arch/AVX/CMakeLists.txt | 6 + .../include/Eigen/src/Core/arch/AVX/Complex.h | 463 ++++ .../Eigen/src/Core/arch/AVX/MathFunctions.h | 441 ++++ .../Eigen/src/Core/arch/AVX/PacketMath.h | 607 +++++ .../Eigen/src/Core/arch/AVX/TypeCasting.h | 51 + .../Eigen/src/Core/arch/AltiVec/Complex.h | 249 +- .../src/Core/arch/AltiVec/MathFunctions.h | 290 +++ .../Eigen/src/Core/arch/AltiVec/PacketMath.h | 548 +++- .../Eigen/src/Core/arch/CMakeLists.txt | 9 +- .../Eigen/src/Core/arch/CUDA/CMakeLists.txt | 6 + .../Eigen/src/Core/arch/CUDA/MathFunctions.h | 112 + .../Eigen/src/Core/arch/CUDA/PacketMath.h | 309 +++ .../Eigen/src/Core/arch/NEON/Complex.h | 223 +- .../Eigen/src/Core/arch/NEON/MathFunctions.h | 91 + .../Eigen/src/Core/arch/NEON/PacketMath.h | 353 ++- .../include/Eigen/src/Core/arch/SSE/Complex.h | 75 +- .../Eigen/src/Core/arch/SSE/MathFunctions.h | 79 +- .../Eigen/src/Core/arch/SSE/PacketMath.h | 372 ++- .../Eigen/src/Core/arch/SSE/TypeCasting.h | 77 + .../src/Core/functors/AssignmentFunctors.h | 166 ++ .../Eigen/src/Core/functors/BinaryFunctors.h | 523 ++++ .../Eigen/src/Core/functors/CMakeLists.txt | 6 + .../Eigen/src/Core/functors/NullaryFunctors.h | 150 ++ .../Eigen/src/Core/functors/StlFunctors.h | 132 + .../Eigen/src/Core/functors/UnaryFunctors.h | 778 ++++++ .../src/Core/products/CoeffBasedProduct.h | 441 ---- .../Core/products/GeneralBlockPanelKernel.h | 2306 ++++++++++++----- .../src/Core/products/GeneralMatrixMatrix.h | 365 +-- .../products/GeneralMatrixMatrixTriangular.h | 80 +- .../Core/products/GeneralMatrixMatrix_MKL.h | 2 + .../src/Core/products/GeneralMatrixVector.h | 310 ++- .../Core/products/GeneralMatrixVector_MKL.h | 25 +- .../Eigen/src/Core/products/Parallelizer.h | 68 +- .../Core/products/SelfadjointMatrixMatrix.h | 297 ++- .../Core/products/SelfadjointMatrixVector.h | 119 +- .../products/SelfadjointMatrixVector_MKL.h | 13 +- .../src/Core/products/SelfadjointProduct.h | 2 - .../Core/products/SelfadjointRank2Update.h | 8 +- .../Core/products/TriangularMatrixMatrix.h | 126 +- .../products/TriangularMatrixMatrix_MKL.h | 8 +- .../Core/products/TriangularMatrixVector.h | 168 +- .../products/TriangularMatrixVector_MKL.h | 2 - .../Core/products/TriangularSolverMatrix.h | 77 +- .../Core/products/TriangularSolverVector.h | 24 +- nuparu/include/Eigen/src/Core/util/BlasUtil.h | 157 +- .../include/Eigen/src/Core/util/Constants.h | 138 +- .../src/Core/util/DisableStupidWarnings.h | 7 +- .../Eigen/src/Core/util/ForwardDeclarations.h | 106 +- .../include/Eigen/src/Core/util/MKL_support.h | 51 +- nuparu/include/Eigen/src/Core/util/Macros.h | 673 ++++- nuparu/include/Eigen/src/Core/util/Memory.h | 485 ++-- nuparu/include/Eigen/src/Core/util/Meta.h | 195 +- .../Eigen/src/Core/util/StaticAssert.h | 30 +- .../include/Eigen/src/Core/util/XprHelper.h | 431 ++- .../include/Eigen/src/Eigen2Support/Block.h | 126 - .../Eigen/src/Eigen2Support/CMakeLists.txt | 8 - .../include/Eigen/src/Eigen2Support/Cwise.h | 192 -- .../Eigen/src/Eigen2Support/CwiseOperators.h | 298 --- .../src/Eigen2Support/Geometry/AlignedBox.h | 159 -- .../Eigen/src/Eigen2Support/Geometry/All.h | 115 - .../src/Eigen2Support/Geometry/AngleAxis.h | 214 -- .../src/Eigen2Support/Geometry/CMakeLists.txt | 6 - .../src/Eigen2Support/Geometry/Hyperplane.h | 254 -- .../Eigen2Support/Geometry/ParametrizedLine.h | 141 - .../src/Eigen2Support/Geometry/Quaternion.h | 495 ---- .../src/Eigen2Support/Geometry/Rotation2D.h | 145 -- .../src/Eigen2Support/Geometry/RotationBase.h | 123 - .../src/Eigen2Support/Geometry/Scaling.h | 167 -- .../src/Eigen2Support/Geometry/Transform.h | 786 ------ .../src/Eigen2Support/Geometry/Translation.h | 184 -- nuparu/include/Eigen/src/Eigen2Support/LU.h | 120 - nuparu/include/Eigen/src/Eigen2Support/Lazy.h | 71 - .../Eigen/src/Eigen2Support/LeastSquares.h | 170 -- .../include/Eigen/src/Eigen2Support/Macros.h | 20 - .../Eigen/src/Eigen2Support/MathFunctions.h | 57 - .../include/Eigen/src/Eigen2Support/Memory.h | 45 - nuparu/include/Eigen/src/Eigen2Support/Meta.h | 75 - .../include/Eigen/src/Eigen2Support/Minor.h | 117 - nuparu/include/Eigen/src/Eigen2Support/QR.h | 67 - nuparu/include/Eigen/src/Eigen2Support/SVD.h | 638 ----- .../src/Eigen2Support/TriangularSolver.h | 42 - .../Eigen/src/Eigen2Support/VectorBlock.h | 94 - .../src/Eigenvalues/ComplexEigenSolver.h | 27 +- .../Eigen/src/Eigenvalues/ComplexSchur.h | 19 +- .../Eigen/src/Eigenvalues/ComplexSchur_MKL.h | 9 +- .../Eigen/src/Eigenvalues/EigenSolver.h | 88 +- .../src/Eigenvalues/GeneralizedEigenSolver.h | 13 +- .../GeneralizedSelfAdjointEigenSolver.h | 3 +- .../src/Eigenvalues/HessenbergDecomposition.h | 15 +- nuparu/include/Eigen/src/Eigenvalues/RealQZ.h | 28 +- .../include/Eigen/src/Eigenvalues/RealSchur.h | 29 +- .../Eigen/src/Eigenvalues/RealSchur_MKL.h | 10 +- .../src/Eigenvalues/SelfAdjointEigenSolver.h | 421 +-- .../Eigenvalues/SelfAdjointEigenSolver_MKL.h | 8 +- .../src/Eigenvalues/Tridiagonalization.h | 35 +- .../include/Eigen/src/Geometry/AlignedBox.h | 91 +- nuparu/include/Eigen/src/Geometry/AngleAxis.h | 37 +- .../include/Eigen/src/Geometry/EulerAngles.h | 6 +- .../include/Eigen/src/Geometry/Homogeneous.h | 200 +- .../include/Eigen/src/Geometry/Hyperplane.h | 14 +- .../include/Eigen/src/Geometry/OrthoMethods.h | 31 +- .../Eigen/src/Geometry/ParametrizedLine.h | 2 +- .../include/Eigen/src/Geometry/Quaternion.h | 118 +- .../include/Eigen/src/Geometry/Rotation2D.h | 54 +- nuparu/include/Eigen/src/Geometry/Scaling.h | 8 +- nuparu/include/Eigen/src/Geometry/Transform.h | 124 +- nuparu/include/Eigen/src/Geometry/Umeyama.h | 11 +- .../Eigen/src/Geometry/arch/Geometry_SSE.h | 56 +- .../Eigen/src/Householder/BlockHouseholder.h | 74 +- .../Eigen/src/Householder/Householder.h | 3 +- .../src/Householder/HouseholderSequence.h | 48 +- .../BasicPreconditioners.h | 118 +- .../src/IterativeLinearSolvers/BiCGSTAB.h | 119 +- .../ConjugateGradient.h | 162 +- .../IncompleteCholesky.h | 368 +++ .../IterativeLinearSolvers/IncompleteLUT.h | 153 +- .../IterativeSolverBase.h | 308 ++- .../LeastSquareConjugateGradient.h | 216 ++ .../IterativeLinearSolvers/SolveWithGuess.h | 109 + nuparu/include/Eigen/src/Jacobi/Jacobi.h | 29 +- nuparu/include/Eigen/src/LU/Determinant.h | 2 +- nuparu/include/Eigen/src/LU/FullPivLU.h | 285 +- .../Eigen/src/LU/{Inverse.h => InverseImpl.h} | 75 +- nuparu/include/Eigen/src/LU/PartialPivLU.h | 182 +- .../include/Eigen/src/LU/arch/Inverse_SSE.h | 19 +- .../Eigen/src/MetisSupport/MetisSupport.h | 18 +- .../include/Eigen/src/OrderingMethods/Amd.h | 95 +- .../Eigen/src/OrderingMethods/Eigen_Colamd.h | 390 +-- .../Eigen/src/OrderingMethods/Ordering.h | 52 +- .../Eigen/src/PaStiXSupport/PaStiXSupport.h | 139 +- .../Eigen/src/PardisoSupport/PardisoSupport.h | 222 +- .../Eigen/src/QR/ColPivHouseholderQR.h | 171 +- .../Eigen/src/QR/ColPivHouseholderQR_MKL.h | 7 +- .../Eigen/src/QR/FullPivHouseholderQR.h | 225 +- nuparu/include/Eigen/src/QR/HouseholderQR.h | 172 +- .../include/Eigen/src/QR/HouseholderQR_MKL.h | 25 +- .../src/SPQRSupport/SuiteSparseQRSupport.h | 174 +- nuparu/include/Eigen/src/SVD/BDCSVD.h | 1208 +++++++++ nuparu/include/Eigen/src/SVD/JacobiSVD.h | 246 +- nuparu/include/Eigen/src/SVD/JacobiSVD_MKL.h | 4 +- nuparu/include/Eigen/src/SVD/SVDBase.h | 314 +++ .../Eigen/src/SVD/UpperBidiagonalization.h | 326 ++- .../src/SparseCholesky/SimplicialCholesky.h | 294 ++- .../SparseCholesky/SimplicialCholesky_impl.h | 34 +- .../include/Eigen/src/SparseCore/AmbiVector.h | 98 +- .../Eigen/src/SparseCore/CompressedStorage.h | 138 +- .../ConservativeSparseSparseProduct.h | 220 +- .../Eigen/src/SparseCore/MappedSparseMatrix.h | 164 +- .../Eigen/src/SparseCore/SparseAssign.h | 205 ++ .../Eigen/src/SparseCore/SparseBlock.h | 529 ++-- .../Eigen/src/SparseCore/SparseColEtree.h | 48 +- .../src/SparseCore/SparseCompressedBase.h | 277 ++ .../src/SparseCore/SparseCwiseBinaryOp.h | 375 ++- .../Eigen/src/SparseCore/SparseCwiseUnaryOp.h | 199 +- .../Eigen/src/SparseCore/SparseDenseProduct.h | 403 +-- .../src/SparseCore/SparseDiagonalProduct.h | 224 +- .../include/Eigen/src/SparseCore/SparseDot.h | 17 +- .../Eigen/src/SparseCore/SparseFuzzy.h | 29 +- .../include/Eigen/src/SparseCore/SparseMap.h | 254 ++ .../Eigen/src/SparseCore/SparseMatrix.h | 595 +++-- .../Eigen/src/SparseCore/SparseMatrixBase.h | 263 +- .../Eigen/src/SparseCore/SparsePermutation.h | 170 +- .../Eigen/src/SparseCore/SparseProduct.h | 285 +- .../Eigen/src/SparseCore/SparseRedux.h | 5 +- .../include/Eigen/src/SparseCore/SparseRef.h | 367 +++ .../src/SparseCore/SparseSelfAdjointView.h | 500 ++-- .../Eigen/src/SparseCore/SparseSolverBase.h | 110 + .../SparseSparseProductWithPruning.h | 91 +- .../Eigen/src/SparseCore/SparseTranspose.h | 111 +- .../src/SparseCore/SparseTriangularView.h | 194 +- .../include/Eigen/src/SparseCore/SparseUtil.h | 111 +- .../Eigen/src/SparseCore/SparseVector.h | 166 +- .../include/Eigen/src/SparseCore/SparseView.h | 205 +- .../Eigen/src/SparseCore/TriangularSolver.h | 114 +- nuparu/include/Eigen/src/SparseLU/SparseLU.h | 303 ++- .../include/Eigen/src/SparseLU/SparseLUImpl.h | 12 +- .../Eigen/src/SparseLU/SparseLU_Memory.h | 60 +- .../Eigen/src/SparseLU/SparseLU_Structs.h | 3 +- .../src/SparseLU/SparseLU_SupernodalMatrix.h | 75 +- .../Eigen/src/SparseLU/SparseLU_Utils.h | 10 +- .../Eigen/src/SparseLU/SparseLU_column_bmod.h | 11 +- .../Eigen/src/SparseLU/SparseLU_column_dfs.h | 38 +- .../src/SparseLU/SparseLU_copy_to_ucol.h | 7 +- .../Eigen/src/SparseLU/SparseLU_gemm_kernel.h | 8 +- .../src/SparseLU/SparseLU_heap_relax_snode.h | 21 +- .../Eigen/src/SparseLU/SparseLU_kernel_bmod.h | 29 +- .../Eigen/src/SparseLU/SparseLU_panel_bmod.h | 14 +- .../Eigen/src/SparseLU/SparseLU_panel_dfs.h | 44 +- .../Eigen/src/SparseLU/SparseLU_pivotL.h | 25 +- .../Eigen/src/SparseLU/SparseLU_pruneL.h | 7 +- .../Eigen/src/SparseLU/SparseLU_relax_snode.h | 12 +- nuparu/include/Eigen/src/SparseQR/SparseQR.h | 361 ++- .../include/Eigen/src/StlSupport/StdDeque.h | 6 +- nuparu/include/Eigen/src/StlSupport/StdList.h | 8 +- .../include/Eigen/src/StlSupport/StdVector.h | 7 +- nuparu/include/Eigen/src/StlSupport/details.h | 2 +- .../Eigen/src/SuperLUSupport/SuperLUSupport.h | 176 +- .../Eigen/src/UmfPackSupport/UmfPackSupport.h | 263 +- nuparu/include/Eigen/src/misc/Image.h | 2 - nuparu/include/Eigen/src/misc/Kernel.h | 4 +- nuparu/include/Eigen/src/misc/Solve.h | 76 - nuparu/include/Eigen/src/misc/SparseSolve.h | 128 - .../Eigen/src/plugins/ArrayCwiseBinaryOps.h | 91 +- .../Eigen/src/plugins/ArrayCwiseUnaryOps.h | 392 ++- .../include/Eigen/src/plugins/BlockMethods.h | 300 ++- .../Eigen/src/plugins/CommonCwiseBinaryOps.h | 1 + .../Eigen/src/plugins/CommonCwiseUnaryOps.h | 51 +- .../Eigen/src/plugins/MatrixCwiseBinaryOps.h | 30 +- .../Eigen/src/plugins/MatrixCwiseUnaryOps.h | 56 +- 330 files changed, 31297 insertions(+), 21463 deletions(-) delete mode 100644 nuparu/include/Eigen/Array delete mode 100644 nuparu/include/Eigen/COPYING.BSD delete mode 100644 nuparu/include/Eigen/COPYING.GPL delete mode 100644 nuparu/include/Eigen/COPYING.LGPL delete mode 100644 nuparu/include/Eigen/COPYING.MINPACK delete mode 100644 nuparu/include/Eigen/COPYING.MPL2 delete mode 100644 nuparu/include/Eigen/COPYING.README delete mode 100644 nuparu/include/Eigen/Eigen2Support delete mode 100644 nuparu/include/Eigen/LeastSquares create mode 100644 nuparu/include/Eigen/src/Core/AssignEvaluator.h create mode 100644 nuparu/include/Eigen/src/Core/CoreEvaluators.h delete mode 100644 nuparu/include/Eigen/src/Core/Flagged.h delete mode 100644 nuparu/include/Eigen/src/Core/Functors.h create mode 100644 nuparu/include/Eigen/src/Core/Inverse.h create mode 100644 nuparu/include/Eigen/src/Core/Product.h delete mode 100644 nuparu/include/Eigen/src/Core/ProductBase.h create mode 100644 nuparu/include/Eigen/src/Core/ProductEvaluators.h create mode 100644 nuparu/include/Eigen/src/Core/Solve.h create mode 100644 nuparu/include/Eigen/src/Core/SolverBase.h create mode 100644 nuparu/include/Eigen/src/Core/SpecialFunctions.h create mode 100644 nuparu/include/Eigen/src/Core/arch/AVX/CMakeLists.txt create mode 100644 nuparu/include/Eigen/src/Core/arch/AVX/Complex.h create mode 100644 nuparu/include/Eigen/src/Core/arch/AVX/MathFunctions.h create mode 100644 nuparu/include/Eigen/src/Core/arch/AVX/PacketMath.h create mode 100644 nuparu/include/Eigen/src/Core/arch/AVX/TypeCasting.h create mode 100644 nuparu/include/Eigen/src/Core/arch/AltiVec/MathFunctions.h create mode 100644 nuparu/include/Eigen/src/Core/arch/CUDA/CMakeLists.txt create mode 100644 nuparu/include/Eigen/src/Core/arch/CUDA/MathFunctions.h create mode 100644 nuparu/include/Eigen/src/Core/arch/CUDA/PacketMath.h create mode 100644 nuparu/include/Eigen/src/Core/arch/NEON/MathFunctions.h create mode 100644 nuparu/include/Eigen/src/Core/arch/SSE/TypeCasting.h create mode 100644 nuparu/include/Eigen/src/Core/functors/AssignmentFunctors.h create mode 100644 nuparu/include/Eigen/src/Core/functors/BinaryFunctors.h create mode 100644 nuparu/include/Eigen/src/Core/functors/CMakeLists.txt create mode 100644 nuparu/include/Eigen/src/Core/functors/NullaryFunctors.h create mode 100644 nuparu/include/Eigen/src/Core/functors/StlFunctors.h create mode 100644 nuparu/include/Eigen/src/Core/functors/UnaryFunctors.h delete mode 100644 nuparu/include/Eigen/src/Core/products/CoeffBasedProduct.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Block.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/CMakeLists.txt delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Cwise.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/CwiseOperators.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/AlignedBox.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/All.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/AngleAxis.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Hyperplane.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Quaternion.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Rotation2D.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/RotationBase.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Scaling.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Transform.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Geometry/Translation.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/LU.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Lazy.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/LeastSquares.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Macros.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/MathFunctions.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Memory.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Meta.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/Minor.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/QR.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/SVD.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/TriangularSolver.h delete mode 100644 nuparu/include/Eigen/src/Eigen2Support/VectorBlock.h create mode 100644 nuparu/include/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h create mode 100644 nuparu/include/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h create mode 100644 nuparu/include/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h rename nuparu/include/Eigen/src/LU/{Inverse.h => InverseImpl.h} (87%) create mode 100644 nuparu/include/Eigen/src/SVD/BDCSVD.h create mode 100644 nuparu/include/Eigen/src/SVD/SVDBase.h create mode 100644 nuparu/include/Eigen/src/SparseCore/SparseAssign.h create mode 100644 nuparu/include/Eigen/src/SparseCore/SparseCompressedBase.h create mode 100644 nuparu/include/Eigen/src/SparseCore/SparseMap.h create mode 100644 nuparu/include/Eigen/src/SparseCore/SparseRef.h create mode 100644 nuparu/include/Eigen/src/SparseCore/SparseSolverBase.h delete mode 100644 nuparu/include/Eigen/src/misc/Solve.h delete mode 100644 nuparu/include/Eigen/src/misc/SparseSolve.h diff --git a/core/camera/Camera.cpp b/core/camera/Camera.cpp index aafdbcf6..45b8ed42 100644 --- a/core/camera/Camera.cpp +++ b/core/camera/Camera.cpp @@ -19,8 +19,8 @@ Camera::Camera(int w, int h) : up(glm::cross(right, look)), rotation(glm::mat4(1.f)) { - //rotation = glm::rotate(rotation, -PI/4, glm::vec3(1,0,0)); - //rotation = glm::rotate(rotation, -PI/2, glm::vec3(0,1,0)); + rotation = glm::rotate(rotation, -PI/6, glm::vec3(1,0,0)); + rotation = glm::rotate(rotation, -PI/8, glm::vec3(0,1,0)); recomputeEye(); recompute(); diff --git a/core/display/Window.cpp b/core/display/Window.cpp index 60f2e068..2edee29f 100644 --- a/core/display/Window.cpp +++ b/core/display/Window.cpp @@ -232,7 +232,7 @@ void Window::initloop(std::function predraw) { painter->draw(); } - TwDraw(); +// TwDraw(); glfwSwapBuffers(_window); glfwPollEvents(); diff --git a/core/display/painters/GridScalarAttributePainter.cpp b/core/display/painters/GridScalarAttributePainter.cpp index 99e0e031..4d14dd7f 100644 --- a/core/display/painters/GridScalarAttributePainter.cpp +++ b/core/display/painters/GridScalarAttributePainter.cpp @@ -5,6 +5,7 @@ #include "GridScalarAttributePainter.h" #include #include +#include GridScalarAttributePainter::GridScalarAttributePainter( Grid *grid, float rangeStart, float rangeEnd, @@ -63,6 +64,7 @@ GridScalarAttributePainter::GridScalarAttributePainter(Grid *grid, float rang unifSizeEnd = glGetUniformLocation(prog, "u_sizeEnd"); unifRangeStart = glGetUniformLocation(prog, "u_rangeStart"); unifRangeEnd = glGetUniformLocation(prog, "u_rangeEnd"); + unifType = glGetUniformLocation(prog, "u_type"); unifCellSize = glGetUniformLocation(prog, "u_cellSize"); unifCellCount = glGetUniformLocation(prog, "u_cellCount"); @@ -78,10 +80,14 @@ GridScalarAttributePainter::GridScalarAttributePainter(Grid *grid, float rang glGenBuffers(1, &attribute_buffer); glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(float), NULL, GL_STREAM_DRAW); + + glUniform1i(unifType, 0); } else if (type == INT) { glGenBuffers(1, &attribute_buffer); glBindBuffer(GL_ARRAY_BUFFER, attribute_buffer); glBufferData(GL_ARRAY_BUFFER, MAX_ATTRIBUTES * sizeof(int), NULL, GL_STREAM_DRAW); + + glUniform1i(unifType, 1); } // set grid uniforms @@ -103,6 +109,10 @@ GridScalarAttributePainter::GridScalarAttributePainter(Grid *grid, float rang void GridScalarAttributePainter::draw() const { if (type == FLOAT) { if (_attributesF != nullptr) { +// for (float f : *_attributesF) { +// std:: cout << f << std::endl; +// } + glUseProgram(prog); glEnable(GL_PROGRAM_POINT_SIZE); diff --git a/core/display/painters/GridScalarAttributePainter.h b/core/display/painters/GridScalarAttributePainter.h index 98b9a74d..b96024f4 100644 --- a/core/display/painters/GridScalarAttributePainter.h +++ b/core/display/painters/GridScalarAttributePainter.h @@ -60,6 +60,7 @@ class GridScalarAttributePainter : public Painter { GLint unifSizeEnd; GLint unifRangeStart; GLint unifRangeEnd; + GLint unifType; GLint unifCellSize; GLint unifCellCount; diff --git a/core/display/shaders/gridScal.vert.h b/core/display/shaders/gridScal.vert.h index 7a6c2756..301bc2da 100644 --- a/core/display/shaders/gridScal.vert.h +++ b/core/display/shaders/gridScal.vert.h @@ -19,6 +19,8 @@ uniform float u_sizeEnd; uniform float u_rangeStart; uniform float u_rangeEnd; +uniform int u_type; + in float f_data; in int i_data; out float amount; @@ -33,6 +35,11 @@ void main() { gl_Position = u_viewProj * vec4(pos, 1); + if (u_type > 0) { + amount = (float(i_data) - u_rangeStart) / (u_rangeEnd - u_rangeStart); + } else { + amount = (f_data - u_rangeStart) / (u_rangeEnd - u_rangeStart); + } amount = (float(i_data) - u_rangeStart) / (u_rangeEnd - u_rangeStart); gl_PointSize = u_sizeStart + amount * (u_sizeEnd - u_sizeStart); diff --git a/core/scenes/default.h b/core/scenes/default.h index 603bbe96..f5591bbe 100644 --- a/core/scenes/default.h +++ b/core/scenes/default.h @@ -6,10 +6,10 @@ const char* default_scene = R"( { "containerDim" : { "position": [0, 0, 0], - "scale" : [10, 20, 10] + "scale" : [20, 20, 20] }, "particleDim" : { - "position": [0, 4, 0], + "position": [0, 3, 0], "scale" : [10, 10, 10] }, "resolution" : 10 diff --git a/core/solver/FluidSolver.cpp b/core/solver/FluidSolver.cpp index 39fb09ad..faddeae5 100644 --- a/core/solver/FluidSolver.cpp +++ b/core/solver/FluidSolver.cpp @@ -11,6 +11,11 @@ #include #include #include +#include +#include +#include +#include + float FluidSolver::g = -9.80665f; @@ -25,12 +30,13 @@ void FluidSolver::setContainer(GeoObject *container) { _container = container; glm::vec3 size = _container->bound().dim(); glm::vec3 origin = (_container->bound().center() - size) / 2.f; - _MAC = MACGrid >( - origin - glm::vec3(_cell_size, _cell_size, _cell_size), - size + 2.f*glm::vec3(_cell_size, _cell_size, _cell_size), - _cell_size - ); - +// _MAC = MACGrid >( +// origin - glm::vec3(_cell_size, _cell_size, _cell_size), +// size + 2.f*glm::vec3(_cell_size, _cell_size, _cell_size), +// _cell_size +// ); + _MAC = MACGrid >(origin, size, _cell_size); +/* std::function setSolid = [&](size_t i, size_t j, size_t k) { _MAC._gType(i,j,k) = SOLID; }; @@ -41,7 +47,7 @@ void FluidSolver::setContainer(GeoObject *container) { _MAC._gType.iterateRegion(0,_MAC._gType.countY()-1,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),_MAC._gType.countY(),1, setSolid); _MAC._gType.iterateRegion(0,0,_MAC._gType.countZ()-1, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); - +*/ /*_MAC = MACGrid >( origin, size, @@ -53,6 +59,12 @@ void FluidSolver::setContainer(GeoObject *container) { * Loop over fluid bounds to generate particles */ void FluidSolver::addFluid(GeoObject *fluid) { +// FluidParticle p; +// p.pos = glm::vec3(-5,5,5); +// _particles.push_back(p); +// _MAC._gType.at(p.pos) = FLUID; +// return; + Bound& b = fluid->bound(); for (float x = b.minX(); x < b.maxX(); x += particle_radius) { for (float y = b.minY(); y < b.maxY(); y += particle_radius) { @@ -75,17 +87,20 @@ void FluidSolver::init() { particle.cell = _MAC.indexOf(particle.pos); _MAC(particle.cell).push_back(&particle); } - - std::size_t velOffset = offsetof(FluidParticle, vel); - std::size_t U_offset = velOffset + offsetof(glm::vec3, x); - std::size_t V_offset = velOffset + offsetof(glm::vec3, y); - std::size_t W_offset = velOffset + offsetof(glm::vec3, z); - particleAttributeToGrid(U_offset, _MAC._gU_old, _cell_size, 0.f); - particleAttributeToGrid(V_offset, _MAC._gV_old, _cell_size, 0.f); - particleAttributeToGrid(W_offset, _MAC._gW_old, _cell_size, 0.f); - particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); - particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); - particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); + _MAC._gU.clear(0); + _MAC._gV.clear(0); + _MAC._gW.clear(0); +// +// std::size_t velOffset = offsetof(FluidParticle, vel); +// std::size_t U_offset = velOffset + offsetof(glm::vec3, x); +// std::size_t V_offset = velOffset + offsetof(glm::vec3, y); +// std::size_t W_offset = velOffset + offsetof(glm::vec3, z); +// particleAttributeToGrid(U_offset, _MAC._gU_old, _cell_size, 0.f); +// particleAttributeToGrid(V_offset, _MAC._gV_old, _cell_size, 0.f); +// particleAttributeToGrid(W_offset, _MAC._gW_old, _cell_size, 0.f); +// particleAttributeToGrid(U_offset, _MAC._gU, _cell_size, 0.f); +// particleAttributeToGrid(V_offset, _MAC._gV, _cell_size, 0.f); +// particleAttributeToGrid(W_offset, _MAC._gW, _cell_size, 0.f); } void FluidSolver::projectVelocitiesToGrid() { @@ -161,23 +176,154 @@ void FluidSolver::transferVelocitiesToParticles() { } void FluidSolver::enforceBoundary() { - _MAC._gType.iterate([&](size_t i, size_t j, size_t k) { - switch (_MAC._gType(i,j,k)) { - case EMPTY:break; - case FLUID:break; - case SOLID: - size_t si, ei, sj, ej, sk, ek; - _MAC._gType.getNeighboorhood(i,j,k,1,si,ei,sj,ej,sk,ek); - _MAC._gU(i,j,k) = std::min(_MAC._gU(i,j,k), 0.f); - _MAC._gU(ei-1,j,k) = std::max(_MAC._gU(ei-1,j,k), 0.f); - _MAC._gV(i,j,k) = std::min(_MAC._gV(i,j,k), 0.f); - _MAC._gV(i,ej-1,k) = std::max(_MAC._gV(i,ej-1,k), 0.f); - _MAC._gW(i,j,k) = std::min(_MAC._gW(i,j,k), 0.f); - _MAC._gW(i,j,ek-1) = std::max(_MAC._gW(i,j,ek-1), 0.f); - break; - default:break; +// _MAC._gType.iterate([&](size_t i, size_t j, size_t k) { +// switch (_MAC._gType(i,j,k)) { +// case EMPTY:break; +// case FLUID:break; +// case SOLID: +// size_t si, ei, sj, ej, sk, ek; +// _MAC._gType.getNeighboorhood(i,j,k,1,si,ei,sj,ej,sk,ek); +// _MAC._gU(i,j,k) = 0;//std::min(_MAC._gU(i,j,k), 0.f); +// _MAC._gU(ei-1,j,k) = 0;//std::max(_MAC._gU(ei-1,j,k), 0.f); +// _MAC._gV(i,j,k) = 0;//std::min(_MAC._gV(i,j,k), 0.f); +// _MAC._gV(i,ej-1,k) = 0;//std::max(_MAC._gV(i,ej-1,k), 0.f); +// _MAC._gW(i,j,k) = 0;//std::min(_MAC._gW(i,j,k), 0.f); +// _MAC._gW(i,j,ek-1) = 0;//std::max(_MAC._gW(i,j,ek-1), 0.f); +// break; +// default:break; +// } +// }); + + _MAC._gU.iterateRegion(0,0,0, 1,_MAC._gU.countY(),_MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0; + }); + _MAC._gU.iterateRegion(_MAC._gU.countX()-1,0,0, _MAC._gU.countX(),_MAC._gU.countY(),_MAC._gU.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gU(i,j,k) = 0; + }); + _MAC._gV.iterateRegion(0,0,0, _MAC._gV.countX(),1,_MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0; + }); + _MAC._gV.iterateRegion(0,_MAC._gV.countY()-1,0, _MAC._gV.countX(),_MAC._gV.countY(),_MAC._gV.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gV(i,j,k) = 0; + }); + _MAC._gW.iterateRegion(0,0,0, _MAC._gW.countX(),_MAC._gW.countY(),1, [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0; + }); + _MAC._gW.iterateRegion(0,0,_MAC._gW.countZ()-1, _MAC._gW.countX(),_MAC._gW.countY(),_MAC._gW.countZ(), [&](size_t i, size_t j, size_t k) { + _MAC._gW(i,j,k) = 0; + }); +} + +void FluidSolver::pressureSolve(float step) { + typedef Eigen::Triplet T; + std::vector coefficientsA; + std::vector coefficientsB; + Eigen::SparseMatrix A(_MAC._gType.size(), _MAC._gType.size()); + Eigen::SparseMatrix b(_MAC._gType.size(), 1); + Eigen::SparseVector x(_MAC._gType.size()); + A.setZero(); + b.setZero(); + x.setZero(); + float scale = step / (1.f*_cell_size*_cell_size); + + _MAC._gType.iterate([&](size_t I, size_t J, size_t K) { + size_t IDX = _MAC._gType.fromIJK(I,J,K); + if (_MAC._gType(I,J,K) == FLUID) { + int count = 0; + + auto typeCB = [&](size_t i, size_t j, size_t k) { + size_t idx = _MAC._gType.fromIJK(i,j,k); + if (_MAC._gType(i,j,k) == FLUID || _MAC._gType(i,j,k) == EMPTY) { + count++; + if (_MAC._gType(i,j,k) == FLUID) { + coefficientsA.push_back(T(IDX, idx, -scale)); + } + } + }; + + if (I > 0) { // if I-1 >= 0 + typeCB(I-1,J,K); + } + if (I + 1 < _MAC._gType.countX()) { // if I + 1 < countX + typeCB(I+1,J,K); + } + if (J > 0) { // if J-1 >= 0 + typeCB(I,J-1,K); + } + if (J + 1 < _MAC._gType.countY()) { // if J + 1 < countY + typeCB(I,J+1,K); + } + if (K > 0) { // if K-1 >= 0 + typeCB(I,J,K-1); + } + if (K + 1 < _MAC._gType.countZ()) { // if K + 1 < countZ + typeCB(I,J,K+1); + } + + coefficientsA.push_back(T(IDX, IDX, count*scale)); + + float div = + -(_MAC._gU(I+1,J,K) - _MAC._gU(I,J,K)) / _cell_size + + -(_MAC._gV(I,J+1,K) - _MAC._gV(I,J,K)) / _cell_size + + -(_MAC._gW(I,J,K+1) - _MAC._gW(I,J,K)) / _cell_size; + + coefficientsB.push_back(T(IDX,0,div)); + } + }, false); + + A.setFromTriplets(coefficientsA.begin(), coefficientsA.end()); +// std::cout << A << std::endl; + b.setFromTriplets(coefficientsB.begin(), coefficientsB.end()); +// Eigen::ConjugateGradient, Eigen::Upper, Eigen::IncompleteCholesky> cg(A); + Eigen::ConjugateGradient, Eigen::Lower, Eigen::IdentityPreconditioner> cg(A); + x = cg.solve(b); + + _MAC._gP.clear(0); + for (Eigen::SparseVector::InnerIterator it(x); it; ++it) { + _MAC._gP(it.index()) = it.value(); + } + + _MAC._gU.iterate([&](size_t i, size_t j, size_t k) { + bool leftExists = i > 0; + bool rightExists = i < _MAC._gP.countX(); + if (leftExists && rightExists && _MAC._gType(i-1,j,k) == FLUID || _MAC._gType(i,j,k) == FLUID) { + float delP = _MAC._gP(i,j,k) - _MAC._gP(i-1,j,k); + _MAC._gU(i,j,k) -= step/(1.f*_cell_size) * delP; } }); + + _MAC._gV.iterate([&](size_t i, size_t j, size_t k) { + bool leftExists = j > 0; + bool rightExists = j < _MAC._gP.countY(); + if (leftExists && rightExists && _MAC._gType(i,j-1,k) == FLUID || _MAC._gType(i,j,k) == FLUID) { + float delP = _MAC._gP(i,j,k) - _MAC._gP(i,j-1,k); + _MAC._gV(i,j,k) -= step/(1.f*_cell_size) * delP; + } + }); + + _MAC._gW.iterate([&](size_t i, size_t j, size_t k) { + bool leftExists = k > 0; + bool rightExists = k < _MAC._gP.countZ(); + if (leftExists && rightExists && _MAC._gType(i,j,k-1) == FLUID || _MAC._gType(i,j,k) == FLUID) { + float delP = _MAC._gP(i,j,k) - _MAC._gP(i,j,k-1); + _MAC._gW(i,j,k) -= step/(1.f*_cell_size) * delP; + } + }); + +// coefficientsB.clear(); + _MAC._gType.iterate([&](size_t I, size_t J, size_t K) { + size_t IDX = _MAC._gType.fromIJK(I, J, K); + if (_MAC._gType(I, J, K) == FLUID) { + float div = + -(_MAC._gU(I+1,J,K) - _MAC._gU(I,J,K)) / _cell_size + + -(_MAC._gV(I,J+1,K) - _MAC._gV(I,J,K)) / _cell_size + + -(_MAC._gW(I,J,K+1) - _MAC._gW(I,J,K)) / _cell_size; + +// coefficientsB.push_back(T(IDX,0,div)); +// std::cout << div << std::endl; + } + }); + } void FluidSolver::gravitySolve(float step) { @@ -203,29 +349,66 @@ void FluidSolver::extrapolateVelocity() { bool backFluid = backExists && _MAC._gType(i,j,k-1) == FLUID; bool frontFluid = frontExists < _MAC._gType.countZ() && _MAC._gType(i,j,k+1) == FLUID; - if (leftFluid != rightFluid) { - if (leftFluid && rightExists) { - _MAC._gU(i+1,j,k) = _MAC._gU(i,j,k); - } else if (rightFluid && leftExists) { - _MAC._gU(i,j,k) = _MAC._gU(i+1,j,k); - } - } + int uCount = 0; + int vCount = 0; + int wCount = 0; - if (belowFluid != aboveFluid) { - if (belowFluid && aboveExists) { - _MAC._gV(i,j+1,k) = _MAC._gV(i,j,k); - } else if (aboveFluid && belowExists) { - _MAC._gV(i,j,k) = _MAC._gV(i,j+1,k); - } - } + float uVel; + float vVel; + float wVel; - if (backFluid != frontFluid) { - if (backFluid && frontExists) { - _MAC._gV(i,j,k+1) = _MAC._gV(i,j,k); - } else if (frontFluid && backExists) { - _MAC._gV(i,j,k) = _MAC._gV(i,j,k+1); - } + if (leftFluid) { + vVel += _MAC._gV(i-1,j,k); vCount++; + wVel += _MAC._gW(i-1,j,k); wCount++; } + if (rightFluid) { + vVel += _MAC._gV(i+1,j,k); vCount++; + wVel += _MAC._gW(i+1,j,k); wCount++; + } + if (belowFluid) { + uVel += _MAC._gU(i,j-1,k); uCount++; + wVel += _MAC._gW(i,j-1,k); wCount++; + } + if (aboveFluid) { + uVel += _MAC._gU(i,j+1,k); uCount++; + wVel += _MAC._gW(i,j+1,k); wCount++; + } + if (backFluid) { + vVel += _MAC._gV(i,j,k-1); vCount++; + uVel += _MAC._gU(i,j,k-1); uCount++; + } + if (frontFluid) { + vVel += _MAC._gV(i,j,k+1); vCount++; + uVel += _MAC._gU(i,j,k+1); uCount++; + } + +// if (uCount > 0) _MAC._gU(i,j,k) = uVel / uCount; +// if (vCount > 0) _MAC._gV(i,j,k) = vVel / vCount; +// if (wCount > 0) _MAC._gW(i,j,k) = wVel / wCount; + +// if (leftFluid != rightFluid) { +// if (leftFluid && rightExists) { +// _MAC._gU(i+1,j,k) = _MAC._gU(i,j,k); +// } else if (rightFluid && leftExists) { +// _MAC._gU(i,j,k) = _MAC._gU(i+1,j,k); +// } +// } +// +// if (belowFluid != aboveFluid) { +// if (belowFluid && aboveExists) { +// _MAC._gV(i,j+1,k) = _MAC._gV(i,j,k); +// } else if (aboveFluid && belowExists) { +// _MAC._gV(i,j,k) = _MAC._gV(i,j+1,k); +// } +// } +// +// if (backFluid != frontFluid) { +// if (backFluid && frontExists) { +// _MAC._gV(i,j,k+1) = _MAC._gV(i,j,k); +// } else if (frontFluid && backExists) { +// _MAC._gV(i,j,k) = _MAC._gV(i,j,k+1); +// } +// } } }); } @@ -296,7 +479,7 @@ void FluidSolver::updateCells() { } - std::function setSolid = [&](size_t i, size_t j, size_t k) { + /*std::function setSolid = [&](size_t i, size_t j, size_t k) { _MAC._gType(i,j,k) = SOLID; }; @@ -305,7 +488,7 @@ void FluidSolver::updateCells() { _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),1,_MAC._gType.countZ(), setSolid); _MAC._gType.iterateRegion(0,_MAC._gType.countY()-1,0, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); _MAC._gType.iterateRegion(0,0,0, _MAC._gType.countX(),_MAC._gType.countY(),1, setSolid); - _MAC._gType.iterateRegion(0,0,_MAC._gType.countZ()-1, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid); + _MAC._gType.iterateRegion(0,0,_MAC._gType.countZ()-1, _MAC._gType.countX(),_MAC._gType.countY(),_MAC._gType.countZ(), setSolid);*/ } @@ -327,93 +510,6 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse std::size_t attributeSize = sizeof(T); std::size_t cellRadius = (size_t) glm::ceil(radius / _cell_size); -#ifdef SPLATTING // if splatting - grid.clear(zeroVal); - std::vector distances(grid.countX() * grid.countY() * grid.countZ()); - - iterParticles([&](FluidParticle &particle) { - size_t I,J,K; - grid.indexOf(particle.pos, I, J, K); - glm::vec3 gridPos = grid.positionOf(I,J,K); - - grid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { - float dist = glm::distance(particle.pos, gridPos); - size_t idx = grid.fromIJK(i,j,k); - distances[idx] += dist * (dist < radius); - }); - }, false); - - iterParticles([&](FluidParticle &particle) { - size_t I,J,K; - grid.indexOf(particle.pos, I, J, K); - glm::vec3 gridPos = grid.positionOf(I,J,K); - - grid.iterateNeighborhood(I,J,K,cellRadius, [&](size_t i, size_t j, size_t k) { - float dist = glm::distance(particle.pos, gridPos); - size_t idx = grid.fromIJK(i,j,k); - T temp; - void *address = (void *) &particle + offset; - std::memcpy(&temp, address, attributeSize); - grid(i,j,k) += temp * (dist / distances[idx]) * (dist < radius); - }); - }, false); - -#else // else splatting - -/*#ifdef USETBB - tbb::parallel_for(tbb::blocked_range(0, grid.size()), [&](const tbb::blocked_range &r) { - for (size_t idx = r.begin(); idx != r.end(); idx++) { -#else - for (size_t idx = 0; idx < grid.size(); idx++) { -#endif - size_t I, J, K; - grid.toIJK(idx, I, J, K); - glm::vec3 gridPos = grid.positionOf(I,J,K); - - size_t si, ei, sj, ej, sk, ek; - _MAC.getNeighboorhood(I, J, K, cellRadius, si, ei, sj, ej, sk, ek); - - float totalWeight = 0.f; - for (size_t i = si; i < ei; i++) { - for (size_t j = sj; j < ej; j++) { - for (size_t k = sk; k < ek; k++) { - for (FluidParticle *particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - totalWeight += weight; - } - } - } - } - - if (totalWeight == 0) { - grid(I,J,K) = zeroVal; - continue; - } - - T temp; - T gridVal = zeroVal; - for (size_t i = si; i < ei; i++) { - for (size_t j = sj; j < ej; j++) { - for (size_t k = sk; k < ek; k++) { - for (FluidParticle *particle : _MAC(i,j,k)) { - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - void *address = (void *) particle + offset; - std::memcpy(&temp, address, attributeSize); - gridVal += temp * (weight / totalWeight); - } - } - } - } - - grid(I,J,K) = gridVal; -#ifdef USETBB - }); -#else - } -#endif*/ - grid.iterate([&](size_t I, size_t J, size_t K) { glm::vec3 gridPos = grid.positionOf(I,J,K); @@ -422,69 +518,7 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse _MAC.getNeighboorhood(mI, mJ, mK, cellRadius, si, ei, sj, ej, sk, ek); float totalWeight = 0.f; -//#define TOOMUCH -#ifdef TOOMUCH - totalWeight += tbb::parallel_reduce( - tbb::blocked_range3d(si,ei,sj,ej,sk,ek), 0.f, - [&](const tbb::blocked_range3d &r, float init)->float { - for(size_t i=r.pages().begin(), i_end=r.pages().end(); i::iterator range_iterator; - init += tbb::parallel_reduce( - tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, - [&](const tbb::blocked_range &r2, float init2)->float { - for (range_iterator p = r2.begin(); p != r2.end(); p++) { - FluidParticle* particle = *p; - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - init2 += weight; - } - return init2; - }, std::plus() - ); - } - } - } - return init; - }, - std::plus() - ); - - T gridVal = zeroVal; - gridVal += tbb::parallel_reduce( - tbb::blocked_range3d(si,ei,sj,ej,sk,ek), 0.f, - [&](const tbb::blocked_range3d &r, float init)->T { - for(size_t i=r.pages().begin(), i_end=r.pages().end(); i::iterator range_iterator; - init += tbb::parallel_reduce( - tbb::blocked_range(_MAC(i,j,k).begin(), _MAC(i,j,k).end()), 0.f, - [&](const tbb::blocked_range &r2, float init2)->T { - for (range_iterator p = r2.begin(); p != r2.end(); p++) { - FluidParticle* particle = *p; - float dist = glm::distance(particle->pos, gridPos); - float weight = kernel(dist, radius/2.f); - T temp; - void *address = (void *) particle + offset; - std::memcpy(&temp, address, attributeSize); - init2 += temp * (weight / totalWeight); - } - return init2; - }, std::plus() - ); - } - } - } - return init; - }, - std::plus() - ); - - grid(I,J,K) = gridVal; -#else for (size_t i = si; i < ei; i++) { for (size_t j = sj; j < ej; j++) { for (size_t k = sk; k < ek; k++) { @@ -519,10 +553,8 @@ template void FluidSolver::particleAttributeToGrid(std::size_t offse } grid(I,J,K) = gridVal; -#endif - }); + }, false); -#endif // endif splatting } template T FluidSolver::interpolateAttribute(const glm::vec3 &pos, Grid &grid) { @@ -554,7 +586,7 @@ void FluidSolver::update(float step) { projectVelocitiesToGrid(); gravitySolve(step); enforceBoundary(); - // pressure solve + pressureSolve(step); enforceBoundary(); extrapolateVelocity(); transferVelocitiesToParticles(); diff --git a/core/solver/FluidSolver.h b/core/solver/FluidSolver.h index 01983e7e..11897cd7 100644 --- a/core/solver/FluidSolver.h +++ b/core/solver/FluidSolver.h @@ -25,6 +25,7 @@ class FluidSolver { void projectVelocitiesToGrid(); void transferVelocitiesToParticles(); void enforceBoundary(); + void pressureSolve(float step); void gravitySolve(float step); void extrapolateVelocity(); void updateParticlePositions(float step); diff --git a/core/solver/grid/Grid.cpp b/core/solver/grid/Grid.cpp index 789d7e77..c32e6f90 100644 --- a/core/solver/grid/Grid.cpp +++ b/core/solver/grid/Grid.cpp @@ -26,10 +26,11 @@ template Grid::Grid(const glm::vec3 &origin, const glm::vec3 &of //_countX((size_t) (std::ceil((_dim.x - _offset.x) / _cellSize))), //_countY((size_t) (std::ceil((_dim.y - _offset.y) / _cellSize))), //_countZ((size_t) (std::ceil((_dim.z - _offset.z) / _cellSize))) { - _countX((size_t) (std::ceil((_dim.x) / _cellSize))), - _countY((size_t) (std::ceil((_dim.y) / _cellSize))), - _countZ((size_t) (std::ceil((_dim.z) / _cellSize))) { + _countX((size_t) (std::floor((_dim.x - _offset.x) / _cellSize)+1)), + _countY((size_t) (std::floor((_dim.y - _offset.y) / _cellSize)+1)), + _countZ((size_t) (std::floor((_dim.z - _offset.z) / _cellSize)+1)) { _contents = std::vector((unsigned long) (_countX * _countY * _countZ)); + std::cout << "Constructing " << _countX << "x" << _countY << "x" << _countZ << " grid..." << std::endl; } /* template template Grid::Grid(const Grid &rhs) : @@ -117,12 +118,12 @@ template glm::ivec3 Grid::indexOf(const glm::vec3 &pos) const { template void Grid::indexOf(const glm::vec3 &pos, size_t &i, size_t &j, size_t &k) const { glm::vec3 indices = (pos - _offset - _origin) / _cellSize; - i = (size_t) ((indices.x <= _countX) * indices.x + (indices.x > _countX) * _countX); // clamp at countX - j = (size_t) ((indices.y <= _countY) * indices.y + (indices.y > _countY) * _countY); // clamp at countY - k = (size_t) ((indices.z <= _countZ) * indices.z + (indices.z > _countZ) * _countZ); // clamp at countZ - i = (i > 0) * i; - j = (j > 0) * j; - k = (k > 0) * k; + i = (size_t) ((indices.x < _countX) * indices.x + (indices.x > _countX-1) * (_countX-1)); // clamp at countX + j = (size_t) ((indices.y < _countY) * indices.y + (indices.y > _countY-1) * (_countY-1)); // clamp at countY + k = (size_t) ((indices.z < _countZ) * indices.z + (indices.z > _countZ-1) * (_countZ-1)); // clamp at countZ +// i = (i > 0) * i; +// j = (j > 0) * j; +// k = (k > 0) * k; } diff --git a/core/solver/grid/MACGrid.h b/core/solver/grid/MACGrid.h index 5685c218..85a3c71a 100644 --- a/core/solver/grid/MACGrid.h +++ b/core/solver/grid/MACGrid.h @@ -30,6 +30,7 @@ template class MACGrid : public Grid { Grid _gW_old; Grid _gP; Grid _gType; +// Grid _gDiv; private: std::vector _contents; diff --git a/main.cpp b/main.cpp index f8473ea9..8900a758 100644 --- a/main.cpp +++ b/main.cpp @@ -11,30 +11,34 @@ int main(int argc, char* argv[]) { Window* window = new Window("Fluid Solver"); FluidSolver* solver = SceneLoader::LoadScene(argv[1]); - solver->init(); ParticlesWriter particlesWriter; + solver->init(); + particlesWriter.writeData(solver, "particles_0.vdb"); ParticlesPainter particlesPainter(solver); BoxPainter boxPainter((Box *) solver->_container); - GridVectorAttributePainter uPainter (&solver->_MAC._gU, 3.f, glm::vec3(1,0,0), glm::vec3(0.1,0,0)); - GridVectorAttributePainter vPainter (&solver->_MAC._gV, 3.f, glm::vec3(0,1,0), glm::vec3(0,0.1,0)); - GridVectorAttributePainter wPainter (&solver->_MAC._gW, 3.f, glm::vec3(0,0,1), glm::vec3(0,0,0.1)); + GridVectorAttributePainter uPainter (&solver->_MAC._gU, 3.f, glm::vec3(1,0,0), glm::vec3(0.2,0,0)); + GridVectorAttributePainter vPainter (&solver->_MAC._gV, 3.f, glm::vec3(0,1,0), glm::vec3(0,0.2,0)); + GridVectorAttributePainter wPainter (&solver->_MAC._gW, 3.f, glm::vec3(0,0,1), glm::vec3(0,0,0.2)); GridScalarAttributePainter tPainter ( - &solver->_MAC._gType, 0.f, 2.f, 2.f, 4.f, glm::vec3(1,1,1), glm::vec3(0,0,0.1)); + &solver->_MAC._gType, 0.f, 1.f, 2.f, 7.f, glm::vec3(0,0,0), glm::vec3(0,0,1)); + GridScalarAttributePainter pPainter ( + &solver->_MAC._gP, 0.f, 20.f, 0.f, 10.f, glm::vec3(1,1,0), glm::vec3(1,0,0)); window->addPainter(&particlesPainter); window->addPainter(&boxPainter); window->addPainter(&uPainter); window->addPainter(&vPainter); window->addPainter(&wPainter); - //window->addPainter(&tPainter); + window->addPainter(&tPainter); + window->addPainter(&pPainter); window->loadSceneCB = [](void*) { std::cout << "what" << std::endl; }; - window->initializeTweakBar(); +// window->initializeTweakBar(); int framerate = 24; double start = glfwGetTime(); diff --git a/nuparu/include/Eigen/Array b/nuparu/include/Eigen/Array deleted file mode 100644 index 3d004fb6..00000000 --- a/nuparu/include/Eigen/Array +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef EIGEN_ARRAY_MODULE_H -#define EIGEN_ARRAY_MODULE_H - -// include Core first to handle Eigen2 support macros -#include "Core" - -#ifndef EIGEN2_SUPPORT - #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. -#endif - -#endif // EIGEN_ARRAY_MODULE_H diff --git a/nuparu/include/Eigen/COPYING.BSD b/nuparu/include/Eigen/COPYING.BSD deleted file mode 100644 index 11971ffe..00000000 --- a/nuparu/include/Eigen/COPYING.BSD +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright (c) 2011, Intel Corporation. All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ \ No newline at end of file diff --git a/nuparu/include/Eigen/COPYING.GPL b/nuparu/include/Eigen/COPYING.GPL deleted file mode 100644 index 94a9ed02..00000000 --- a/nuparu/include/Eigen/COPYING.GPL +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/nuparu/include/Eigen/COPYING.LGPL b/nuparu/include/Eigen/COPYING.LGPL deleted file mode 100644 index 4362b491..00000000 --- a/nuparu/include/Eigen/COPYING.LGPL +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/nuparu/include/Eigen/COPYING.MINPACK b/nuparu/include/Eigen/COPYING.MINPACK deleted file mode 100644 index ae7984da..00000000 --- a/nuparu/include/Eigen/COPYING.MINPACK +++ /dev/null @@ -1,52 +0,0 @@ -Minpack Copyright Notice (1999) University of Chicago. All rights reserved - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the -following conditions are met: - -1. Redistributions of source code must retain the above -copyright notice, this list of conditions and the following -disclaimer. - -2. Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials -provided with the distribution. - -3. The end-user documentation included with the -redistribution, if any, must include the following -acknowledgment: - - "This product includes software developed by the - University of Chicago, as Operator of Argonne National - Laboratory. - -Alternately, this acknowledgment may appear in the software -itself, if and wherever such third-party acknowledgments -normally appear. - -4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" -WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE -UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND -THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE -OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY -OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR -USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF -THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) -DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION -UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL -BE CORRECTED. - -5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT -HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF -ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, -INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF -ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF -PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER -SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT -(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, -EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE -POSSIBILITY OF SUCH LOSS OR DAMAGES. - diff --git a/nuparu/include/Eigen/COPYING.MPL2 b/nuparu/include/Eigen/COPYING.MPL2 deleted file mode 100644 index 14e2f777..00000000 --- a/nuparu/include/Eigen/COPYING.MPL2 +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/nuparu/include/Eigen/COPYING.README b/nuparu/include/Eigen/COPYING.README deleted file mode 100644 index de5b6321..00000000 --- a/nuparu/include/Eigen/COPYING.README +++ /dev/null @@ -1,18 +0,0 @@ -Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links: - http://www.mozilla.org/MPL/2.0/ - http://www.mozilla.org/MPL/2.0/FAQ.html - -Some files contain third-party code under BSD or LGPL licenses, whence the other -COPYING.* files here. - -All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later. -For this reason, the COPYING.LGPL file contains the LGPL 2.1 text. - -If you want to guarantee that the Eigen code that you are #including is licensed -under the MPL2 and possibly more permissive licenses (like BSD), #define this -preprocessor symbol: - EIGEN_MPL2_ONLY -For example, with most compilers, you could add this to your project CXXFLAGS: - -DEIGEN_MPL2_ONLY -This will cause a compilation error to be generated if you #include any code that is -LGPL licensed. diff --git a/nuparu/include/Eigen/Cholesky b/nuparu/include/Eigen/Cholesky index f727f5d8..705a04cc 100644 --- a/nuparu/include/Eigen/Cholesky +++ b/nuparu/include/Eigen/Cholesky @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_CHOLESKY_MODULE_H #define EIGEN_CHOLESKY_MODULE_H @@ -10,16 +17,17 @@ * * * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. - * Those decompositions are accessible via the following MatrixBase methods: - * - MatrixBase::llt(), + * Those decompositions are also accessible via the following methods: + * - MatrixBase::llt() * - MatrixBase::ldlt() + * - SelfAdjointView::llt() + * - SelfAdjointView::ldlt() * * \code * #include * \endcode */ -#include "src/misc/Solve.h" #include "src/Cholesky/LLT.h" #include "src/Cholesky/LDLT.h" #ifdef EIGEN_USE_LAPACKE diff --git a/nuparu/include/Eigen/CholmodSupport b/nuparu/include/Eigen/CholmodSupport index 745b884e..83e2c1da 100644 --- a/nuparu/include/Eigen/CholmodSupport +++ b/nuparu/include/Eigen/CholmodSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_CHOLMODSUPPORT_MODULE_H #define EIGEN_CHOLMODSUPPORT_MODULE_H @@ -33,12 +40,8 @@ extern "C" { * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - #include "src/CholmodSupport/CholmodSupport.h" - #include "src/Core/util/ReenableStupidWarnings.h" #endif // EIGEN_CHOLMODSUPPORT_MODULE_H diff --git a/nuparu/include/Eigen/Core b/nuparu/include/Eigen/Core index 9131cc3f..63602f4c 100644 --- a/nuparu/include/Eigen/Core +++ b/nuparu/include/Eigen/Core @@ -14,6 +14,48 @@ // first thing Eigen does: stop the compiler from committing suicide #include "src/Core/util/DisableStupidWarnings.h" +// Handle NVCC/CUDA +#ifdef __CUDACC__ + // Do not try asserts on CUDA! + #ifndef EIGEN_NO_DEBUG + #define EIGEN_NO_DEBUG + #endif + + #ifdef EIGEN_INTERNAL_DEBUGGING + #undef EIGEN_INTERNAL_DEBUGGING + #endif + + // Do not try to vectorize on CUDA! + #ifndef EIGEN_DONT_VECTORIZE + #define EIGEN_DONT_VECTORIZE + #endif + + #ifdef EIGEN_EXCEPTIONS + #undef EIGEN_EXCEPTIONS + #endif + + // All functions callable from CUDA code must be qualified with __device__ + #define EIGEN_DEVICE_FUNC __host__ __device__ + +#else + #define EIGEN_DEVICE_FUNC + +#endif + +#if defined(__CUDA_ARCH__) + #define EIGEN_USING_STD_MATH(FUNC) using ::FUNC; +#else + #define EIGEN_USING_STD_MATH(FUNC) using std::FUNC; +#endif + +#if (defined(_CPPUNWIND) || defined(__EXCEPTIONS)) && !defined(__CUDA_ARCH__) && !defined(EIGEN_EXCEPTIONS) + #define EIGEN_EXCEPTIONS +#endif + +#ifdef EIGEN_EXCEPTIONS + #include +#endif + // then include this file where all our macros are defined. It's really important to do it first because // it's where we do all the alignment settings (platform detection and honoring the user's will if he // defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization. @@ -21,7 +63,7 @@ // Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3) // See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details. -#if defined(__MINGW32__) && EIGEN_GNUC_AT_LEAST(4,6) +#if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6) #pragma GCC optimize ("-fno-ipa-cp-clone") #endif @@ -31,26 +73,26 @@ // and inclusion of their respective header files #include "src/Core/util/MKL_support.h" -// if alignment is disabled, then disable vectorization. Note: EIGEN_ALIGN is the proper check, it takes into -// account both the user's will (EIGEN_DONT_ALIGN) and our own platform checks -#if !EIGEN_ALIGN +// if alignment is disabled, then disable vectorization. Note: EIGEN_MAX_ALIGN_BYTES is the proper check, it takes into +// account both the user's will (EIGEN_MAX_ALIGN_BYTES,EIGEN_DONT_ALIGN) and our own platform checks +#if EIGEN_MAX_ALIGN_BYTES==0 #ifndef EIGEN_DONT_VECTORIZE #define EIGEN_DONT_VECTORIZE #endif #endif -#ifdef _MSC_VER +#if EIGEN_COMP_MSVC #include // for _aligned_malloc -- need it regardless of whether vectorization is enabled - #if (_MSC_VER >= 1500) // 2008 or later + #if (EIGEN_COMP_MSVC >= 1500) // 2008 or later // Remember that usage of defined() in a #define is undefined by the standard. // a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP. - #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(_M_X64) + #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || EIGEN_ARCH_x86_64 #define EIGEN_SSE2_ON_MSVC_2008_OR_LATER #endif #endif #else // Remember that usage of defined() in a #define is undefined by the standard - #if (defined __SSE2__) && ( (!defined __GNUC__) || (defined __INTEL_COMPILER) || EIGEN_GNUC_AT_LEAST(4,2) ) + #if (defined __SSE2__) && ( (!EIGEN_COMP_GNUC) || EIGEN_COMP_ICC || EIGEN_GNUC_AT_LEAST(4,2) ) #define EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC #endif #endif @@ -82,6 +124,19 @@ #ifdef __SSE4_2__ #define EIGEN_VECTORIZE_SSE4_2 #endif + #ifdef __AVX__ + #define EIGEN_VECTORIZE_AVX + #define EIGEN_VECTORIZE_SSE3 + #define EIGEN_VECTORIZE_SSSE3 + #define EIGEN_VECTORIZE_SSE4_1 + #define EIGEN_VECTORIZE_SSE4_2 + #endif + #ifdef __AVX2__ + #define EIGEN_VECTORIZE_AVX2 + #endif + #ifdef __FMA__ + #define EIGEN_VECTORIZE_FMA + #endif // include files @@ -95,7 +150,7 @@ extern "C" { // In theory we should only include immintrin.h and not the other *mmintrin.h header files directly. // Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus: - #ifdef __INTEL_COMPILER + #if EIGEN_COMP_ICC >= 1110 #include #else #include @@ -112,8 +167,20 @@ #ifdef EIGEN_VECTORIZE_SSE4_2 #include #endif + #ifdef EIGEN_VECTORIZE_AVX + #include + #endif #endif } // end extern "C" + #elif defined __VSX__ + #define EIGEN_VECTORIZE + #define EIGEN_VECTORIZE_VSX + #include + // We need to #undef all these ugly tokens defined in + // => use __vector instead of vector + #undef bool + #undef vector + #undef pixel #elif defined __ALTIVEC__ #define EIGEN_VECTORIZE #define EIGEN_VECTORIZE_ALTIVEC @@ -123,13 +190,18 @@ #undef bool #undef vector #undef pixel - #elif defined __ARM_NEON__ + #elif (defined __ARM_NEON) || (defined __ARM_NEON__) #define EIGEN_VECTORIZE #define EIGEN_VECTORIZE_NEON #include #endif #endif +#if defined __CUDACC__ + #define EIGEN_VECTORIZE_CUDA + #include +#endif + #if (defined _OPENMP) && (!defined EIGEN_DONT_PARALLELIZE) #define EIGEN_HAS_OPENMP #endif @@ -139,7 +211,7 @@ #endif // MSVC for windows mobile does not have the errno.h file -#if !(defined(_MSC_VER) && defined(_WIN32_WCE)) && !defined(__ARMCC_VERSION) +#if !(EIGEN_COMP_MSVC && EIGEN_OS_WINCE) && !EIGEN_COMP_ARM #define EIGEN_HAS_ERRNO #endif @@ -165,23 +237,17 @@ #endif // required for __cpuid, needs to be included after cmath -#if defined(_MSC_VER) && (defined(_M_IX86)||defined(_M_X64)) +#if EIGEN_COMP_MSVC && EIGEN_ARCH_i386_OR_x86_64 && !EIGEN_OS_WINCE #include #endif -#if defined(_CPPUNWIND) || defined(__EXCEPTIONS) - #define EIGEN_EXCEPTIONS -#endif - -#ifdef EIGEN_EXCEPTIONS - #include -#endif - /** \brief Namespace containing all symbols from the %Eigen library. */ namespace Eigen { inline static const char *SimdInstructionSetsInUse(void) { -#if defined(EIGEN_VECTORIZE_SSE4_2) +#if defined(EIGEN_VECTORIZE_AVX) + return "AVX SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2"; +#elif defined(EIGEN_VECTORIZE_SSE4_2) return "SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2"; #elif defined(EIGEN_VECTORIZE_SSE4_1) return "SSE, SSE2, SSE3, SSSE3, SSE4.1"; @@ -193,6 +259,8 @@ inline static const char *SimdInstructionSetsInUse(void) { return "SSE, SSE2"; #elif defined(EIGEN_VECTORIZE_ALTIVEC) return "AltiVec"; +#elif defined(EIGEN_VECTORIZE_VSX) + return "VSX"; #elif defined(EIGEN_VECTORIZE_NEON) return "ARM NEON"; #else @@ -202,34 +270,9 @@ inline static const char *SimdInstructionSetsInUse(void) { } // end namespace Eigen -#define STAGE10_FULL_EIGEN2_API 10 -#define STAGE20_RESOLVE_API_CONFLICTS 20 -#define STAGE30_FULL_EIGEN3_API 30 -#define STAGE40_FULL_EIGEN3_STRICTNESS 40 -#define STAGE99_NO_EIGEN2_SUPPORT 99 - -#if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS - #define EIGEN2_SUPPORT - #define EIGEN2_SUPPORT_STAGE STAGE40_FULL_EIGEN3_STRICTNESS -#elif defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API - #define EIGEN2_SUPPORT - #define EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API -#elif defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS - #define EIGEN2_SUPPORT - #define EIGEN2_SUPPORT_STAGE STAGE20_RESOLVE_API_CONFLICTS -#elif defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API - #define EIGEN2_SUPPORT - #define EIGEN2_SUPPORT_STAGE STAGE10_FULL_EIGEN2_API -#elif defined EIGEN2_SUPPORT - // default to stage 3, that's what it's always meant - #define EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API - #define EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API -#else - #define EIGEN2_SUPPORT_STAGE STAGE99_NO_EIGEN2_SUPPORT -#endif - -#ifdef EIGEN2_SUPPORT -#undef minor +#if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || defined EIGEN2_SUPPORT +// This will generate an error message: +#error Eigen2-support is only available up to version 3.2. Please go to "http://eigen.tuxfamily.org/index.php?title=Eigen2" for further information #endif // we use size_t frequently and we'll never remember to prepend it with std:: everytime just to @@ -249,45 +292,75 @@ using std::ptrdiff_t; */ #include "src/Core/util/Constants.h" -#include "src/Core/util/ForwardDeclarations.h" #include "src/Core/util/Meta.h" +#include "src/Core/util/ForwardDeclarations.h" #include "src/Core/util/StaticAssert.h" #include "src/Core/util/XprHelper.h" #include "src/Core/util/Memory.h" #include "src/Core/NumTraits.h" #include "src/Core/MathFunctions.h" +#include "src/Core/SpecialFunctions.h" #include "src/Core/GenericPacketMath.h" -#if defined EIGEN_VECTORIZE_SSE +#if defined EIGEN_VECTORIZE_AVX + // Use AVX for floats and doubles, SSE for integers + #include "src/Core/arch/SSE/PacketMath.h" + #include "src/Core/arch/SSE/Complex.h" + #include "src/Core/arch/SSE/MathFunctions.h" + #include "src/Core/arch/AVX/PacketMath.h" + #include "src/Core/arch/AVX/MathFunctions.h" + #include "src/Core/arch/AVX/Complex.h" + #include "src/Core/arch/AVX/TypeCasting.h" +#elif defined EIGEN_VECTORIZE_SSE #include "src/Core/arch/SSE/PacketMath.h" #include "src/Core/arch/SSE/MathFunctions.h" #include "src/Core/arch/SSE/Complex.h" -#elif defined EIGEN_VECTORIZE_ALTIVEC + #include "src/Core/arch/SSE/TypeCasting.h" +#elif defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) #include "src/Core/arch/AltiVec/PacketMath.h" + #include "src/Core/arch/AltiVec/MathFunctions.h" #include "src/Core/arch/AltiVec/Complex.h" #elif defined EIGEN_VECTORIZE_NEON #include "src/Core/arch/NEON/PacketMath.h" + #include "src/Core/arch/NEON/MathFunctions.h" #include "src/Core/arch/NEON/Complex.h" #endif +#if defined EIGEN_VECTORIZE_CUDA + #include "src/Core/arch/CUDA/PacketMath.h" + #include "src/Core/arch/CUDA/MathFunctions.h" +#endif + #include "src/Core/arch/Default/Settings.h" -#include "src/Core/Functors.h" +#include "src/Core/functors/BinaryFunctors.h" +#include "src/Core/functors/UnaryFunctors.h" +#include "src/Core/functors/NullaryFunctors.h" +#include "src/Core/functors/StlFunctors.h" +#include "src/Core/functors/AssignmentFunctors.h" + #include "src/Core/DenseCoeffsBase.h" #include "src/Core/DenseBase.h" #include "src/Core/MatrixBase.h" #include "src/Core/EigenBase.h" +#include "src/Core/Product.h" +#include "src/Core/CoreEvaluators.h" +#include "src/Core/AssignEvaluator.h" + #ifndef EIGEN_PARSED_BY_DOXYGEN // work around Doxygen bug triggered by Assign.h r814874 // at least confirmed with Doxygen 1.5.5 and 1.5.6 #include "src/Core/Assign.h" #endif +#include "src/Core/ArrayBase.h" #include "src/Core/util/BlasUtil.h" #include "src/Core/DenseStorage.h" #include "src/Core/NestByValue.h" -#include "src/Core/ForceAlignedAccess.h" + +// #include "src/Core/ForceAlignedAccess.h" + #include "src/Core/ReturnByValue.h" #include "src/Core/NoAlias.h" #include "src/Core/PlainObjectBase.h" @@ -300,32 +373,33 @@ using std::ptrdiff_t; #include "src/Core/SelfCwiseBinaryOp.h" #include "src/Core/Dot.h" #include "src/Core/StableNorm.h" -#include "src/Core/MapBase.h" #include "src/Core/Stride.h" +#include "src/Core/MapBase.h" #include "src/Core/Map.h" +#include "src/Core/Ref.h" #include "src/Core/Block.h" #include "src/Core/VectorBlock.h" -#include "src/Core/Ref.h" #include "src/Core/Transpose.h" #include "src/Core/DiagonalMatrix.h" #include "src/Core/Diagonal.h" #include "src/Core/DiagonalProduct.h" -#include "src/Core/PermutationMatrix.h" -#include "src/Core/Transpositions.h" #include "src/Core/Redux.h" #include "src/Core/Visitor.h" #include "src/Core/Fuzzy.h" #include "src/Core/IO.h" #include "src/Core/Swap.h" #include "src/Core/CommaInitializer.h" -#include "src/Core/Flagged.h" -#include "src/Core/ProductBase.h" #include "src/Core/GeneralProduct.h" +#include "src/Core/Solve.h" +#include "src/Core/Inverse.h" +#include "src/Core/SolverBase.h" +#include "src/Core/PermutationMatrix.h" +#include "src/Core/Transpositions.h" #include "src/Core/TriangularMatrix.h" #include "src/Core/SelfAdjointView.h" #include "src/Core/products/GeneralBlockPanelKernel.h" #include "src/Core/products/Parallelizer.h" -#include "src/Core/products/CoeffBasedProduct.h" +#include "src/Core/ProductEvaluators.h" #include "src/Core/products/GeneralMatrixVector.h" #include "src/Core/products/GeneralMatrixMatrix.h" #include "src/Core/SolveTriangular.h" @@ -347,7 +421,6 @@ using std::ptrdiff_t; #include "src/Core/Random.h" #include "src/Core/Replicate.h" #include "src/Core/Reverse.h" -#include "src/Core/ArrayBase.h" #include "src/Core/ArrayWrapper.h" #ifdef EIGEN_USE_BLAS @@ -369,8 +442,4 @@ using std::ptrdiff_t; #include "src/Core/util/ReenableStupidWarnings.h" -#ifdef EIGEN2_SUPPORT -#include "Eigen2Support" -#endif - #endif // EIGEN_CORE_H diff --git a/nuparu/include/Eigen/Eigen b/nuparu/include/Eigen/Eigen index 19b40ea4..654c8dc6 100644 --- a/nuparu/include/Eigen/Eigen +++ b/nuparu/include/Eigen/Eigen @@ -1,2 +1,2 @@ #include "Dense" -//#include "Sparse" +#include "Sparse" diff --git a/nuparu/include/Eigen/Eigen2Support b/nuparu/include/Eigen/Eigen2Support deleted file mode 100644 index 36156d29..00000000 --- a/nuparu/include/Eigen/Eigen2Support +++ /dev/null @@ -1,82 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2009 Gael Guennebaud -// -// This Source Code Form is subject to the terms of the Mozilla -// Public License v. 2.0. If a copy of the MPL was not distributed -// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef EIGEN2SUPPORT_H -#define EIGEN2SUPPORT_H - -#if (!defined(EIGEN2_SUPPORT)) || (!defined(EIGEN_CORE_H)) -#error Eigen2 support must be enabled by defining EIGEN2_SUPPORT before including any Eigen header -#endif - -#include "src/Core/util/DisableStupidWarnings.h" - -/** \ingroup Support_modules - * \defgroup Eigen2Support_Module Eigen2 support module - * This module provides a couple of deprecated functions improving the compatibility with Eigen2. - * - * To use it, define EIGEN2_SUPPORT before including any Eigen header - * \code - * #define EIGEN2_SUPPORT - * \endcode - * - */ - -#include "src/Eigen2Support/Macros.h" -#include "src/Eigen2Support/Memory.h" -#include "src/Eigen2Support/Meta.h" -#include "src/Eigen2Support/Lazy.h" -#include "src/Eigen2Support/Cwise.h" -#include "src/Eigen2Support/CwiseOperators.h" -#include "src/Eigen2Support/TriangularSolver.h" -#include "src/Eigen2Support/Block.h" -#include "src/Eigen2Support/VectorBlock.h" -#include "src/Eigen2Support/Minor.h" -#include "src/Eigen2Support/MathFunctions.h" - - -#include "src/Core/util/ReenableStupidWarnings.h" - -// Eigen2 used to include iostream -#include - -#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \ -using Eigen::Matrix##SizeSuffix##TypeSuffix; \ -using Eigen::Vector##SizeSuffix##TypeSuffix; \ -using Eigen::RowVector##SizeSuffix##TypeSuffix; - -#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(TypeSuffix) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \ - -#define EIGEN_USING_MATRIX_TYPEDEFS \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(i) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(f) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(d) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cf) \ -EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cd) - -#define USING_PART_OF_NAMESPACE_EIGEN \ -EIGEN_USING_MATRIX_TYPEDEFS \ -using Eigen::Matrix; \ -using Eigen::MatrixBase; \ -using Eigen::ei_random; \ -using Eigen::ei_real; \ -using Eigen::ei_imag; \ -using Eigen::ei_conj; \ -using Eigen::ei_abs; \ -using Eigen::ei_abs2; \ -using Eigen::ei_sqrt; \ -using Eigen::ei_exp; \ -using Eigen::ei_log; \ -using Eigen::ei_sin; \ -using Eigen::ei_cos; - -#endif // EIGEN2SUPPORT_H diff --git a/nuparu/include/Eigen/Eigenvalues b/nuparu/include/Eigen/Eigenvalues index 53c5a73a..ea93eb30 100644 --- a/nuparu/include/Eigen/Eigenvalues +++ b/nuparu/include/Eigen/Eigenvalues @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_EIGENVALUES_MODULE_H #define EIGEN_EIGENVALUES_MODULE_H diff --git a/nuparu/include/Eigen/Geometry b/nuparu/include/Eigen/Geometry index efd9d450..06b736e3 100644 --- a/nuparu/include/Eigen/Geometry +++ b/nuparu/include/Eigen/Geometry @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_GEOMETRY_MODULE_H #define EIGEN_GEOMETRY_MODULE_H @@ -9,10 +16,6 @@ #include "LU" #include -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - /** \defgroup Geometry_Module Geometry module * * @@ -33,27 +36,23 @@ #include "src/Geometry/OrthoMethods.h" #include "src/Geometry/EulerAngles.h" -#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS - #include "src/Geometry/Homogeneous.h" - #include "src/Geometry/RotationBase.h" - #include "src/Geometry/Rotation2D.h" - #include "src/Geometry/Quaternion.h" - #include "src/Geometry/AngleAxis.h" - #include "src/Geometry/Transform.h" - #include "src/Geometry/Translation.h" - #include "src/Geometry/Scaling.h" - #include "src/Geometry/Hyperplane.h" - #include "src/Geometry/ParametrizedLine.h" - #include "src/Geometry/AlignedBox.h" - #include "src/Geometry/Umeyama.h" - - #if defined EIGEN_VECTORIZE_SSE - #include "src/Geometry/arch/Geometry_SSE.h" - #endif -#endif - -#ifdef EIGEN2_SUPPORT -#include "src/Eigen2Support/Geometry/All.h" +#include "src/Geometry/Homogeneous.h" +#include "src/Geometry/RotationBase.h" +#include "src/Geometry/Rotation2D.h" +#include "src/Geometry/Quaternion.h" +#include "src/Geometry/AngleAxis.h" +#include "src/Geometry/Transform.h" +#include "src/Geometry/Translation.h" +#include "src/Geometry/Scaling.h" +#include "src/Geometry/Hyperplane.h" +#include "src/Geometry/ParametrizedLine.h" +#include "src/Geometry/AlignedBox.h" +#include "src/Geometry/Umeyama.h" + +// Use the SSE optimized version whenever possible. At the moment the +// SSE version doesn't compile when AVX is enabled +#if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX +#include "src/Geometry/arch/Geometry_SSE.h" #endif #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/nuparu/include/Eigen/Householder b/nuparu/include/Eigen/Householder index 6e348db5..89cd81b1 100644 --- a/nuparu/include/Eigen/Householder +++ b/nuparu/include/Eigen/Householder @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_HOUSEHOLDER_MODULE_H #define EIGEN_HOUSEHOLDER_MODULE_H diff --git a/nuparu/include/Eigen/IterativeLinearSolvers b/nuparu/include/Eigen/IterativeLinearSolvers index 0f4159dc..957d5750 100644 --- a/nuparu/include/Eigen/IterativeLinearSolvers +++ b/nuparu/include/Eigen/IterativeLinearSolvers @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H #define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H @@ -12,28 +19,29 @@ * This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse. * Those solvers are accessible via the following classes: * - ConjugateGradient for selfadjoint (hermitian) matrices, + * - LeastSquaresConjugateGradient for rectangular least-square problems, * - BiCGSTAB for general square matrices. * * These iterative solvers are associated with some preconditioners: * - IdentityPreconditioner - not really useful - * - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices. - * - IncompleteILUT - incomplete LU factorization with dual thresholding + * - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices. + * - IncompleteLUT - incomplete LU factorization with dual thresholding * * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport. * - * \code - * #include - * \endcode + \code + #include + \endcode */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - +#include "src/IterativeLinearSolvers/SolveWithGuess.h" #include "src/IterativeLinearSolvers/IterativeSolverBase.h" #include "src/IterativeLinearSolvers/BasicPreconditioners.h" #include "src/IterativeLinearSolvers/ConjugateGradient.h" +#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h" #include "src/IterativeLinearSolvers/BiCGSTAB.h" #include "src/IterativeLinearSolvers/IncompleteLUT.h" +#include "src/IterativeLinearSolvers/IncompleteCholesky.h" #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/nuparu/include/Eigen/Jacobi b/nuparu/include/Eigen/Jacobi index ba8a4dc3..17c1d785 100644 --- a/nuparu/include/Eigen/Jacobi +++ b/nuparu/include/Eigen/Jacobi @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_JACOBI_MODULE_H #define EIGEN_JACOBI_MODULE_H diff --git a/nuparu/include/Eigen/LU b/nuparu/include/Eigen/LU index db579550..2d70c92d 100644 --- a/nuparu/include/Eigen/LU +++ b/nuparu/include/Eigen/LU @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_LU_MODULE_H #define EIGEN_LU_MODULE_H @@ -16,7 +23,6 @@ * \endcode */ -#include "src/misc/Solve.h" #include "src/misc/Kernel.h" #include "src/misc/Image.h" #include "src/LU/FullPivLU.h" @@ -25,16 +31,14 @@ #include "src/LU/PartialPivLU_MKL.h" #endif #include "src/LU/Determinant.h" -#include "src/LU/Inverse.h" +#include "src/LU/InverseImpl.h" -#if defined EIGEN_VECTORIZE_SSE +// Use the SSE optimized version whenever possible. At the moment the +// SSE version doesn't compile when AVX is enabled +#if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX #include "src/LU/arch/Inverse_SSE.h" #endif -#ifdef EIGEN2_SUPPORT - #include "src/Eigen2Support/LU.h" -#endif - #include "src/Core/util/ReenableStupidWarnings.h" #endif // EIGEN_LU_MODULE_H diff --git a/nuparu/include/Eigen/LeastSquares b/nuparu/include/Eigen/LeastSquares deleted file mode 100644 index 35137c25..00000000 --- a/nuparu/include/Eigen/LeastSquares +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef EIGEN_REGRESSION_MODULE_H -#define EIGEN_REGRESSION_MODULE_H - -#ifndef EIGEN2_SUPPORT -#error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT) -#endif - -// exclude from normal eigen3-only documentation -#ifdef EIGEN2_SUPPORT - -#include "Core" - -#include "src/Core/util/DisableStupidWarnings.h" - -#include "Eigenvalues" -#include "Geometry" - -/** \defgroup LeastSquares_Module LeastSquares module - * This module provides linear regression and related features. - * - * \code - * #include - * \endcode - */ - -#include "src/Eigen2Support/LeastSquares.h" - -#include "src/Core/util/ReenableStupidWarnings.h" - -#endif // EIGEN2_SUPPORT - -#endif // EIGEN_REGRESSION_MODULE_H diff --git a/nuparu/include/Eigen/MetisSupport b/nuparu/include/Eigen/MetisSupport index 6a113f7a..85c41bf3 100644 --- a/nuparu/include/Eigen/MetisSupport +++ b/nuparu/include/Eigen/MetisSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_METISSUPPORT_MODULE_H #define EIGEN_METISSUPPORT_MODULE_H diff --git a/nuparu/include/Eigen/OrderingMethods b/nuparu/include/Eigen/OrderingMethods index 7c0f1fff..d8ea3619 100644 --- a/nuparu/include/Eigen/OrderingMethods +++ b/nuparu/include/Eigen/OrderingMethods @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_ORDERINGMETHODS_MODULE_H #define EIGEN_ORDERINGMETHODS_MODULE_H diff --git a/nuparu/include/Eigen/PaStiXSupport b/nuparu/include/Eigen/PaStiXSupport index 7c616ee5..3411dfac 100644 --- a/nuparu/include/Eigen/PaStiXSupport +++ b/nuparu/include/Eigen/PaStiXSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_PASTIXSUPPORT_MODULE_H #define EIGEN_PASTIXSUPPORT_MODULE_H @@ -35,12 +42,8 @@ extern "C" { * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - #include "src/PaStiXSupport/PaStiXSupport.h" - #include "src/Core/util/ReenableStupidWarnings.h" #endif // EIGEN_PASTIXSUPPORT_MODULE_H diff --git a/nuparu/include/Eigen/PardisoSupport b/nuparu/include/Eigen/PardisoSupport index 99330ce7..340edf51 100644 --- a/nuparu/include/Eigen/PardisoSupport +++ b/nuparu/include/Eigen/PardisoSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_PARDISOSUPPORT_MODULE_H #define EIGEN_PARDISOSUPPORT_MODULE_H @@ -7,8 +14,6 @@ #include -#include - /** \ingroup Support_modules * \defgroup PardisoSupport_Module PardisoSupport module * diff --git a/nuparu/include/Eigen/QR b/nuparu/include/Eigen/QR index ac5b0269..f74f365f 100644 --- a/nuparu/include/Eigen/QR +++ b/nuparu/include/Eigen/QR @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_QR_MODULE_H #define EIGEN_QR_MODULE_H @@ -15,14 +22,15 @@ * * This module provides various QR decompositions * This module also provides some MatrixBase methods, including: - * - MatrixBase::qr(), + * - MatrixBase::householderQr() + * - MatrixBase::colPivHouseholderQr() + * - MatrixBase::fullPivHouseholderQr() * * \code * #include * \endcode */ -#include "src/misc/Solve.h" #include "src/QR/HouseholderQR.h" #include "src/QR/FullPivHouseholderQR.h" #include "src/QR/ColPivHouseholderQR.h" @@ -31,15 +39,7 @@ #include "src/QR/ColPivHouseholderQR_MKL.h" #endif -#ifdef EIGEN2_SUPPORT -#include "src/Eigen2Support/QR.h" -#endif - #include "src/Core/util/ReenableStupidWarnings.h" -#ifdef EIGEN2_SUPPORT -#include "Eigenvalues" -#endif - #endif // EIGEN_QR_MODULE_H /* vim: set filetype=cpp et sw=2 ts=2 ai: */ diff --git a/nuparu/include/Eigen/QtAlignedMalloc b/nuparu/include/Eigen/QtAlignedMalloc index 46f7d83b..4044d5ac 100644 --- a/nuparu/include/Eigen/QtAlignedMalloc +++ b/nuparu/include/Eigen/QtAlignedMalloc @@ -1,3 +1,9 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. #ifndef EIGEN_QTMALLOC_MODULE_H #define EIGEN_QTMALLOC_MODULE_H diff --git a/nuparu/include/Eigen/SPQRSupport b/nuparu/include/Eigen/SPQRSupport index 77016442..f9489dcd 100644 --- a/nuparu/include/Eigen/SPQRSupport +++ b/nuparu/include/Eigen/SPQRSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SPQRSUPPORT_MODULE_H #define EIGEN_SPQRSUPPORT_MODULE_H @@ -21,8 +28,6 @@ * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" #include "src/CholmodSupport/CholmodSupport.h" #include "src/SPQRSupport/SuiteSparseQRSupport.h" diff --git a/nuparu/include/Eigen/SVD b/nuparu/include/Eigen/SVD index fd310017..b353f3f5 100644 --- a/nuparu/include/Eigen/SVD +++ b/nuparu/include/Eigen/SVD @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SVD_MODULE_H #define EIGEN_SVD_MODULE_H @@ -12,24 +19,25 @@ * * * This module provides SVD decomposition for matrices (both real and complex). - * This decomposition is accessible via the following MatrixBase method: + * Two decomposition algorithms are provided: + * - JacobiSVD implementing two-sided Jacobi iterations is numerically very accurate, fast for small matrices, but very slow for larger ones. + * - BDCSVD implementing a recursive divide & conquer strategy on top of an upper-bidiagonalization which remains fast for large problems. + * These decompositions are accessible via the respective classes and following MatrixBase methods: * - MatrixBase::jacobiSvd() + * - MatrixBase::bdcSvd() * * \code * #include * \endcode */ -#include "src/misc/Solve.h" +#include "src/SVD/UpperBidiagonalization.h" +#include "src/SVD/SVDBase.h" #include "src/SVD/JacobiSVD.h" +#include "src/SVD/BDCSVD.h" #if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT) #include "src/SVD/JacobiSVD_MKL.h" #endif -#include "src/SVD/UpperBidiagonalization.h" - -#ifdef EIGEN2_SUPPORT -#include "src/Eigen2Support/SVD.h" -#endif #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/nuparu/include/Eigen/Sparse b/nuparu/include/Eigen/Sparse index 7cc9c091..a2ef7a66 100644 --- a/nuparu/include/Eigen/Sparse +++ b/nuparu/include/Eigen/Sparse @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SPARSE_MODULE_H #define EIGEN_SPARSE_MODULE_H @@ -11,9 +18,9 @@ * - \ref SparseQR_Module * - \ref IterativeLinearSolvers_Module * - * \code - * #include - * \endcode + \code + #include + \endcode */ #include "SparseCore" diff --git a/nuparu/include/Eigen/SparseCholesky b/nuparu/include/Eigen/SparseCholesky index 9f5056aa..b6a320c4 100644 --- a/nuparu/include/Eigen/SparseCholesky +++ b/nuparu/include/Eigen/SparseCholesky @@ -34,8 +34,6 @@ #error The SparseCholesky module has nothing to offer in MPL2 only mode #endif -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" #include "src/SparseCholesky/SimplicialCholesky.h" #ifndef EIGEN_MPL2_ONLY diff --git a/nuparu/include/Eigen/SparseCore b/nuparu/include/Eigen/SparseCore index 9b5be5e1..76966c4c 100644 --- a/nuparu/include/Eigen/SparseCore +++ b/nuparu/include/Eigen/SparseCore @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SPARSECORE_MODULE_H #define EIGEN_SPARSECORE_MODULE_H @@ -14,7 +21,7 @@ /** * \defgroup SparseCore_Module SparseCore module * - * This module provides a sparse matrix representation, and basic associatd matrix manipulations + * This module provides a sparse matrix representation, and basic associated matrix manipulations * and operations. * * See the \ref TutorialSparse "Sparse tutorial" @@ -26,37 +33,35 @@ * This module depends on: Core. */ -namespace Eigen { - -/** The type used to identify a general sparse storage. */ -struct Sparse {}; - -} - #include "src/SparseCore/SparseUtil.h" #include "src/SparseCore/SparseMatrixBase.h" +#include "src/SparseCore/SparseAssign.h" #include "src/SparseCore/CompressedStorage.h" #include "src/SparseCore/AmbiVector.h" +#include "src/SparseCore/SparseCompressedBase.h" #include "src/SparseCore/SparseMatrix.h" +#include "src/SparseCore/SparseMap.h" #include "src/SparseCore/MappedSparseMatrix.h" #include "src/SparseCore/SparseVector.h" -#include "src/SparseCore/SparseBlock.h" -#include "src/SparseCore/SparseTranspose.h" +#include "src/SparseCore/SparseRef.h" #include "src/SparseCore/SparseCwiseUnaryOp.h" #include "src/SparseCore/SparseCwiseBinaryOp.h" +#include "src/SparseCore/SparseTranspose.h" +#include "src/SparseCore/SparseBlock.h" #include "src/SparseCore/SparseDot.h" -#include "src/SparseCore/SparsePermutation.h" #include "src/SparseCore/SparseRedux.h" -#include "src/SparseCore/SparseFuzzy.h" +#include "src/SparseCore/SparseView.h" +#include "src/SparseCore/SparseDiagonalProduct.h" #include "src/SparseCore/ConservativeSparseSparseProduct.h" #include "src/SparseCore/SparseSparseProductWithPruning.h" #include "src/SparseCore/SparseProduct.h" #include "src/SparseCore/SparseDenseProduct.h" -#include "src/SparseCore/SparseDiagonalProduct.h" -#include "src/SparseCore/SparseTriangularView.h" #include "src/SparseCore/SparseSelfAdjointView.h" +#include "src/SparseCore/SparseTriangularView.h" #include "src/SparseCore/TriangularSolver.h" -#include "src/SparseCore/SparseView.h" +#include "src/SparseCore/SparsePermutation.h" +#include "src/SparseCore/SparseFuzzy.h" +#include "src/SparseCore/SparseSolverBase.h" #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/nuparu/include/Eigen/SparseLU b/nuparu/include/Eigen/SparseLU index 8527a49b..38b38b53 100644 --- a/nuparu/include/Eigen/SparseLU +++ b/nuparu/include/Eigen/SparseLU @@ -20,9 +20,6 @@ * Please, see the documentation of the SparseLU class for more details. */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - // Ordering interface #include "OrderingMethods" diff --git a/nuparu/include/Eigen/SparseQR b/nuparu/include/Eigen/SparseQR index 4ee42065..a6f3b7f7 100644 --- a/nuparu/include/Eigen/SparseQR +++ b/nuparu/include/Eigen/SparseQR @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SPARSEQR_MODULE_H #define EIGEN_SPARSEQR_MODULE_H @@ -21,9 +28,6 @@ * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - #include "OrderingMethods" #include "src/SparseCore/SparseColEtree.h" #include "src/SparseQR/SparseQR.h" diff --git a/nuparu/include/Eigen/StdDeque b/nuparu/include/Eigen/StdDeque index f2723477..be3a7f82 100644 --- a/nuparu/include/Eigen/StdDeque +++ b/nuparu/include/Eigen/StdDeque @@ -14,7 +14,7 @@ #include "Core" #include -#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ +#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 /* MSVC auto aligns in 64 bit builds */ #define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...) diff --git a/nuparu/include/Eigen/StdList b/nuparu/include/Eigen/StdList index 225c1e18..07ba1297 100644 --- a/nuparu/include/Eigen/StdList +++ b/nuparu/include/Eigen/StdList @@ -13,7 +13,7 @@ #include "Core" #include -#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ +#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 /* MSVC auto aligns in 64 bit builds */ #define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) diff --git a/nuparu/include/Eigen/StdVector b/nuparu/include/Eigen/StdVector index 6b22627f..fdfc3776 100644 --- a/nuparu/include/Eigen/StdVector +++ b/nuparu/include/Eigen/StdVector @@ -14,7 +14,7 @@ #include "Core" #include -#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ +#if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 /* MSVC auto aligns in 64 bit builds */ #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) diff --git a/nuparu/include/Eigen/SuperLUSupport b/nuparu/include/Eigen/SuperLUSupport index 575e14fb..113f58ee 100644 --- a/nuparu/include/Eigen/SuperLUSupport +++ b/nuparu/include/Eigen/SuperLUSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_SUPERLUSUPPORT_MODULE_H #define EIGEN_SUPERLUSUPPORT_MODULE_H @@ -36,6 +43,8 @@ namespace Eigen { struct SluMatrix; } * - class SuperLU: a supernodal sequential LU factorization. * - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods). * + * \warning This wrapper is only for the 4.x versions of SuperLU. The 3.x and 5.x versions are not supported. + * * \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting. * * \code @@ -48,12 +57,8 @@ namespace Eigen { struct SluMatrix; } * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - #include "src/SuperLUSupport/SuperLUSupport.h" - #include "src/Core/util/ReenableStupidWarnings.h" #endif // EIGEN_SUPERLUSUPPORT_MODULE_H diff --git a/nuparu/include/Eigen/UmfPackSupport b/nuparu/include/Eigen/UmfPackSupport index 984f64a8..4a9f46a1 100644 --- a/nuparu/include/Eigen/UmfPackSupport +++ b/nuparu/include/Eigen/UmfPackSupport @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_UMFPACKSUPPORT_MODULE_H #define EIGEN_UMFPACKSUPPORT_MODULE_H @@ -26,9 +33,6 @@ extern "C" { * */ -#include "src/misc/Solve.h" -#include "src/misc/SparseSolve.h" - #include "src/UmfPackSupport/UmfPackSupport.h" #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/nuparu/include/Eigen/src/Cholesky/LDLT.h b/nuparu/include/Eigen/src/Cholesky/LDLT.h index d19cb396..6fcae01f 100644 --- a/nuparu/include/Eigen/src/Cholesky/LDLT.h +++ b/nuparu/include/Eigen/src/Cholesky/LDLT.h @@ -16,7 +16,10 @@ namespace Eigen { namespace internal { -template struct LDLT_Traits; + template struct LDLT_Traits; + + // PositiveSemiDef means positive semi-definite and non-zero; same for NegativeSemiDef + enum SignMatrix { PositiveSemiDef, NegativeSemiDef, ZeroSign, Indefinite }; } /** \ingroup Cholesky_Module @@ -40,7 +43,7 @@ template struct LDLT_Traits; * Remember that Cholesky decompositions are not rank-revealing. Also, do not use a Cholesky * decomposition to determine whether a system of equations has a solution. * - * \sa MatrixBase::ldlt(), class LLT + * \sa MatrixBase::ldlt(), SelfAdjointView::ldlt(), class LLT */ template class LDLT { @@ -56,7 +59,8 @@ template class LDLT }; typedef typename MatrixType::Scalar Scalar; typedef typename NumTraits::Real RealScalar; - typedef typename MatrixType::Index Index; + typedef Eigen::Index Index; ///< \deprecated since Eigen 3.3 + typedef typename MatrixType::StorageIndex StorageIndex; typedef Matrix TmpMatrixType; typedef Transpositions TranspositionType; @@ -69,7 +73,12 @@ template class LDLT * The default constructor is useful in cases in which the user intends to * perform decompositions via LDLT::compute(const MatrixType&). */ - LDLT() : m_matrix(), m_transpositions(), m_isInitialized(false) {} + LDLT() + : m_matrix(), + m_transpositions(), + m_sign(internal::ZeroSign), + m_isInitialized(false) + {} /** \brief Default Constructor with memory preallocation * @@ -77,10 +86,11 @@ template class LDLT * according to the specified problem \a size. * \sa LDLT() */ - LDLT(Index size) + explicit LDLT(Index size) : m_matrix(size, size), m_transpositions(size), m_temporary(size), + m_sign(internal::ZeroSign), m_isInitialized(false) {} @@ -89,13 +99,15 @@ template class LDLT * This calculates the decomposition for the input \a matrix. * \sa LDLT(Index size) */ - LDLT(const MatrixType& matrix) + template + explicit LDLT(const EigenBase& matrix) : m_matrix(matrix.rows(), matrix.cols()), m_transpositions(matrix.rows()), m_temporary(matrix.rows()), + m_sign(internal::ZeroSign), m_isInitialized(false) { - compute(matrix); + compute(matrix.derived()); } /** Clear any existing decomposition @@ -139,21 +151,14 @@ template class LDLT inline bool isPositive() const { eigen_assert(m_isInitialized && "LDLT is not initialized."); - return m_sign == 1; - } - - #ifdef EIGEN2_SUPPORT - inline bool isPositiveDefinite() const - { - return isPositive(); + return m_sign == internal::PositiveSemiDef || m_sign == internal::ZeroSign; } - #endif /** \returns true if the matrix is negative (semidefinite) */ inline bool isNegative(void) const { eigen_assert(m_isInitialized && "LDLT is not initialized."); - return m_sign == -1; + return m_sign == internal::NegativeSemiDef || m_sign == internal::ZeroSign; } /** \returns a solution x of \f$ A x = b \f$ using the current decomposition of A. @@ -169,31 +174,23 @@ template class LDLT * least-square solution of \f$ D y_3 = y_2 \f$ is computed. This does not mean that this function * computes the least-square solution of \f$ A x = b \f$ is \f$ A \f$ is singular. * - * \sa MatrixBase::ldlt() + * \sa MatrixBase::ldlt(), SelfAdjointView::ldlt() */ template - inline const internal::solve_retval + inline const Solve solve(const MatrixBase& b) const { eigen_assert(m_isInitialized && "LDLT is not initialized."); eigen_assert(m_matrix.rows()==b.rows() && "LDLT::solve(): invalid number of rows of the right hand side matrix b"); - return internal::solve_retval(*this, b.derived()); + return Solve(*this, b.derived()); } - #ifdef EIGEN2_SUPPORT - template - bool solve(const MatrixBase& b, ResultType *result) const - { - *result = this->solve(b); - return true; - } - #endif - template bool solveInPlace(MatrixBase &bAndX) const; - LDLT& compute(const MatrixType& matrix); + template + LDLT& compute(const EigenBase& matrix); template LDLT& rankUpdate(const MatrixBase& w, const RealScalar& alpha=1); @@ -223,8 +220,19 @@ template class LDLT eigen_assert(m_isInitialized && "LDLT is not initialized."); return Success; } + + #ifndef EIGEN_PARSED_BY_DOXYGEN + template + EIGEN_DEVICE_FUNC + void _solve_impl(const RhsType &rhs, DstType &dst) const; + #endif protected: + + static void check_template_parameters() + { + EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar); + } /** \internal * Used to compute and store the Cholesky decomposition A = L D L^* = U^* D U. @@ -235,7 +243,7 @@ template class LDLT MatrixType m_matrix; TranspositionType m_transpositions; TmpMatrixType m_temporary; - int m_sign; + internal::SignMatrix m_sign; bool m_isInitialized; }; @@ -246,49 +254,32 @@ template struct ldlt_inplace; template<> struct ldlt_inplace { template - static bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, int* sign=0) + static bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, SignMatrix& sign) { using std::abs; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; - typedef typename MatrixType::Index Index; + typedef typename TranspositionType::StorageIndex IndexType; eigen_assert(mat.rows()==mat.cols()); const Index size = mat.rows(); if (size <= 1) { transpositions.setIdentity(); - if(sign) - *sign = numext::real(mat.coeff(0,0))>0 ? 1:-1; + if (numext::real(mat.coeff(0,0)) > 0) sign = PositiveSemiDef; + else if (numext::real(mat.coeff(0,0)) < 0) sign = NegativeSemiDef; + else sign = ZeroSign; return true; } - RealScalar cutoff(0), biggest_in_corner; - for (Index k = 0; k < size; ++k) { // Find largest diagonal element Index index_of_biggest_in_corner; - biggest_in_corner = mat.diagonal().tail(size-k).cwiseAbs().maxCoeff(&index_of_biggest_in_corner); + mat.diagonal().tail(size-k).cwiseAbs().maxCoeff(&index_of_biggest_in_corner); index_of_biggest_in_corner += k; - if(k == 0) - { - // The biggest overall is the point of reference to which further diagonals - // are compared; if any diagonal is negligible compared - // to the largest overall, the algorithm bails. - cutoff = abs(NumTraits::epsilon() * biggest_in_corner); - } - - // Finish early if the matrix is not full rank. - if(biggest_in_corner < cutoff) - { - for(Index i = k; i < size; i++) transpositions.coeffRef(i) = i; - if(sign) *sign = 0; - break; - } - - transpositions.coeffRef(k) = index_of_biggest_in_corner; + transpositions.coeffRef(k) = IndexType(index_of_biggest_in_corner); if(k != index_of_biggest_in_corner) { // apply the transposition while taking care to consider only @@ -297,7 +288,7 @@ template<> struct ldlt_inplace mat.row(k).head(k).swap(mat.row(index_of_biggest_in_corner).head(k)); mat.col(k).tail(s).swap(mat.col(index_of_biggest_in_corner).tail(s)); std::swap(mat.coeffRef(k,k),mat.coeffRef(index_of_biggest_in_corner,index_of_biggest_in_corner)); - for(int i=k+1;i struct ldlt_inplace if(k>0) { - temp.head(k) = mat.diagonal().head(k).asDiagonal() * A10.adjoint(); + temp.head(k) = mat.diagonal().real().head(k).asDiagonal() * A10.adjoint(); mat.coeffRef(k,k) -= (A10 * temp.head(k)).value(); if(rs>0) A21.noalias() -= A20 * temp.head(k); } - if((rs>0) && (abs(mat.coeffRef(k,k)) > cutoff)) - A21 /= mat.coeffRef(k,k); - if(sign) - { - // LDLT is not guaranteed to work for indefinite matrices, but let's try to get the sign right - int newSign = numext::real(mat.diagonal().coeff(index_of_biggest_in_corner)) > 0; - if(k == 0) - *sign = newSign; - else if(*sign != newSign) - *sign = 0; + // In some previous versions of Eigen (e.g., 3.2.1), the scaling was omitted if the pivot + // was smaller than the cutoff value. However, since LDLT is not rank-revealing + // we should only make sure that we do not introduce INF or NaN values. + // Remark that LAPACK also uses 0 as the cutoff value. + RealScalar realAkk = numext::real(mat.coeffRef(k,k)); + if((rs>0) && (abs(realAkk) > RealScalar(0))) + A21 /= realAkk; + + if (sign == PositiveSemiDef) { + if (realAkk < 0) sign = Indefinite; + } else if (sign == NegativeSemiDef) { + if (realAkk > 0) sign = Indefinite; + } else if (sign == ZeroSign) { + if (realAkk > 0) sign = PositiveSemiDef; + else if (realAkk < 0) sign = NegativeSemiDef; } } @@ -353,7 +349,6 @@ template<> struct ldlt_inplace using numext::isfinite; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; - typedef typename MatrixType::Index Index; const Index size = mat.rows(); eigen_assert(mat.cols() == size && w.size()==size); @@ -399,7 +394,7 @@ template<> struct ldlt_inplace template<> struct ldlt_inplace { template - static EIGEN_STRONG_INLINE bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, int* sign=0) + static EIGEN_STRONG_INLINE bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, SignMatrix& sign) { Transpose matt(mat); return ldlt_inplace::unblocked(matt, transpositions, temp, sign); @@ -417,16 +412,16 @@ template struct LDLT_Traits { typedef const TriangularView MatrixL; typedef const TriangularView MatrixU; - static inline MatrixL getL(const MatrixType& m) { return m; } - static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); } + static inline MatrixL getL(const MatrixType& m) { return MatrixL(m); } + static inline MatrixU getU(const MatrixType& m) { return MatrixU(m.adjoint()); } }; template struct LDLT_Traits { typedef const TriangularView MatrixL; typedef const TriangularView MatrixU; - static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); } - static inline MatrixU getU(const MatrixType& m) { return m; } + static inline MatrixL getL(const MatrixType& m) { return MatrixL(m.adjoint()); } + static inline MatrixU getU(const MatrixType& m) { return MatrixU(m); } }; } // end namespace internal @@ -434,18 +429,22 @@ template struct LDLT_Traits /** Compute / recompute the LDLT decomposition A = L D L^* = U^* D U of \a matrix */ template -LDLT& LDLT::compute(const MatrixType& a) +template +LDLT& LDLT::compute(const EigenBase& a) { + check_template_parameters(); + eigen_assert(a.rows()==a.cols()); const Index size = a.rows(); - m_matrix = a; + m_matrix = a.derived(); m_transpositions.resize(size); m_isInitialized = false; m_temporary.resize(size); + m_sign = internal::ZeroSign; - internal::ldlt_inplace::unblocked(m_matrix, m_transpositions, m_temporary, &m_sign); + internal::ldlt_inplace::unblocked(m_matrix, m_transpositions, m_temporary, m_sign); m_isInitialized = true; return *this; @@ -458,8 +457,9 @@ LDLT& LDLT::compute(const MatrixType& a) */ template template -LDLT& LDLT::rankUpdate(const MatrixBase& w, const typename NumTraits::Real& sigma) +LDLT& LDLT::rankUpdate(const MatrixBase& w, const typename LDLT::RealScalar& sigma) { + typedef typename TranspositionType::StorageIndex IndexType; const Index size = w.rows(); if (m_isInitialized) { @@ -471,9 +471,9 @@ LDLT& LDLT::rankUpdate(const MatrixBase=0 ? 1 : -1; + m_sign = sigma>=0 ? internal::PositiveSemiDef : internal::NegativeSemiDef; m_isInitialized = true; } @@ -482,48 +482,45 @@ LDLT& LDLT::rankUpdate(const MatrixBase -struct solve_retval, Rhs> - : solve_retval_base, Rhs> +#ifndef EIGEN_PARSED_BY_DOXYGEN +template +template +void LDLT<_MatrixType,_UpLo>::_solve_impl(const RhsType &rhs, DstType &dst) const { - typedef LDLT<_MatrixType,_UpLo> LDLTType; - EIGEN_MAKE_SOLVE_HELPERS(LDLTType,Rhs) - - template void evalTo(Dest& dst) const + eigen_assert(rhs.rows() == rows()); + // dst = P b + dst = m_transpositions * rhs; + + // dst = L^-1 (P b) + matrixL().solveInPlace(dst); + + // dst = D^-1 (L^-1 P b) + // more precisely, use pseudo-inverse of D (see bug 241) + using std::abs; + const typename Diagonal::RealReturnType vecD(vectorD()); + // In some previous versions, tolerance was set to the max of 1/highest and the maximal diagonal entry * epsilon + // as motivated by LAPACK's xGELSS: + // RealScalar tolerance = numext::maxi(vecD.array().abs().maxCoeff() * NumTraits::epsilon(),RealScalar(1) / NumTraits::highest()); + // However, LDLT is not rank revealing, and so adjusting the tolerance wrt to the highest + // diagonal element is not well justified and leads to numerical issues in some cases. + // Moreover, Lapack's xSYTRS routines use 0 for the tolerance. + RealScalar tolerance = RealScalar(1) / NumTraits::highest(); + + for (Index i = 0; i < vecD.size(); ++i) { - eigen_assert(rhs().rows() == dec().matrixLDLT().rows()); - // dst = P b - dst = dec().transpositionsP() * rhs(); - - // dst = L^-1 (P b) - dec().matrixL().solveInPlace(dst); - - // dst = D^-1 (L^-1 P b) - // more precisely, use pseudo-inverse of D (see bug 241) - using std::abs; - using std::max; - typedef typename LDLTType::MatrixType MatrixType; - typedef typename LDLTType::Scalar Scalar; - typedef typename LDLTType::RealScalar RealScalar; - const Diagonal vectorD = dec().vectorD(); - RealScalar tolerance = (max)(vectorD.array().abs().maxCoeff() * NumTraits::epsilon(), - RealScalar(1) / NumTraits::highest()); // motivated by LAPACK's xGELSS - for (Index i = 0; i < vectorD.size(); ++i) { - if(abs(vectorD(i)) > tolerance) - dst.row(i) /= vectorD(i); - else - dst.row(i).setZero(); - } + if(abs(vecD(i)) > tolerance) + dst.row(i) /= vecD(i); + else + dst.row(i).setZero(); + } - // dst = L^-T (D^-1 L^-1 P b) - dec().matrixU().solveInPlace(dst); + // dst = L^-T (D^-1 L^-1 P b) + matrixU().solveInPlace(dst); - // dst = P^-1 (L^-T D^-1 L^-1 P b) = A^-1 b - dst = dec().transpositionsP().transpose() * dst; - } -}; + // dst = P^-1 (L^-T D^-1 L^-1 P b) = A^-1 b + dst = m_transpositions.transpose() * dst; } +#endif /** \internal use x = ldlt_object.solve(x); * @@ -566,7 +563,7 @@ MatrixType LDLT::reconstructedMatrix() const // L^* P res = matrixU() * res; // D(L^*P) - res = vectorD().asDiagonal() * res; + res = vectorD().real().asDiagonal() * res; // L(DL^*P) res = matrixL() * res; // P^T (LDL^*P) @@ -575,8 +572,10 @@ MatrixType LDLT::reconstructedMatrix() const return res; } +#ifndef __CUDACC__ /** \cholesky_module * \returns the Cholesky decomposition with full pivoting without square root of \c *this + * \sa MatrixBase::ldlt() */ template inline const LDLT::PlainObject, UpLo> @@ -587,6 +586,7 @@ SelfAdjointView::ldlt() const /** \cholesky_module * \returns the Cholesky decomposition with full pivoting without square root of \c *this + * \sa SelfAdjointView::ldlt() */ template inline const LDLT::PlainObject> @@ -594,6 +594,7 @@ MatrixBase::ldlt() const { return LDLT(derived()); } +#endif // __CUDACC__ } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Cholesky/LLT.h b/nuparu/include/Eigen/src/Cholesky/LLT.h index 2e6189f7..1f0091f3 100644 --- a/nuparu/include/Eigen/src/Cholesky/LLT.h +++ b/nuparu/include/Eigen/src/Cholesky/LLT.h @@ -41,7 +41,7 @@ template struct LLT_Traits; * Example: \include LLT_example.cpp * Output: \verbinclude LLT_example.out * - * \sa MatrixBase::llt(), class LDLT + * \sa MatrixBase::llt(), SelfAdjointView::llt(), class LDLT */ /* HEY THIS DOX IS DISABLED BECAUSE THERE's A BUG EITHER HERE OR IN LDLT ABOUT THAT (OR BOTH) * Note that during the decomposition, only the upper triangular part of A is considered. Therefore, @@ -59,7 +59,8 @@ template class LLT }; typedef typename MatrixType::Scalar Scalar; typedef typename NumTraits::Real RealScalar; - typedef typename MatrixType::Index Index; + typedef Eigen::Index Index; ///< \deprecated since Eigen 3.3 + typedef typename MatrixType::StorageIndex StorageIndex; enum { PacketSize = internal::packet_traits::size, @@ -83,14 +84,15 @@ template class LLT * according to the specified problem \a size. * \sa LLT() */ - LLT(Index size) : m_matrix(size, size), + explicit LLT(Index size) : m_matrix(size, size), m_isInitialized(false) {} - LLT(const MatrixType& matrix) + template + explicit LLT(const EigenBase& matrix) : m_matrix(matrix.rows(), matrix.cols()), m_isInitialized(false) { - compute(matrix); + compute(matrix.derived()); } /** \returns a view of the upper triangular matrix U */ @@ -115,33 +117,23 @@ template class LLT * Example: \include LLT_solve.cpp * Output: \verbinclude LLT_solve.out * - * \sa solveInPlace(), MatrixBase::llt() + * \sa solveInPlace(), MatrixBase::llt(), SelfAdjointView::llt() */ template - inline const internal::solve_retval + inline const Solve solve(const MatrixBase& b) const { eigen_assert(m_isInitialized && "LLT is not initialized."); eigen_assert(m_matrix.rows()==b.rows() && "LLT::solve(): invalid number of rows of the right hand side matrix b"); - return internal::solve_retval(*this, b.derived()); + return Solve(*this, b.derived()); } - #ifdef EIGEN2_SUPPORT - template - bool solve(const MatrixBase& b, ResultType *result) const - { - *result = this->solve(b); - return true; - } - - bool isPositiveDefinite() const { return true; } - #endif - template void solveInPlace(MatrixBase &bAndX) const; - LLT& compute(const MatrixType& matrix); + template + LLT& compute(const EigenBase& matrix); /** \returns the LLT decomposition matrix * @@ -172,8 +164,20 @@ template class LLT template LLT rankUpdate(const VectorType& vec, const RealScalar& sigma = 1); + + #ifndef EIGEN_PARSED_BY_DOXYGEN + template + EIGEN_DEVICE_FUNC + void _solve_impl(const RhsType &rhs, DstType &dst) const; + #endif protected: + + static void check_template_parameters() + { + EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar); + } + /** \internal * Used to compute and store L * The strict upper part is not used and even not initialized. @@ -188,12 +192,11 @@ namespace internal { template struct llt_inplace; template -static typename MatrixType::Index llt_rank_update_lower(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) +static Index llt_rank_update_lower(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) { using std::sqrt; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; - typedef typename MatrixType::Index Index; typedef typename MatrixType::ColXpr ColXpr; typedef typename internal::remove_all::type ColXprCleaned; typedef typename ColXprCleaned::SegmentReturnType ColXprSegment; @@ -262,10 +265,9 @@ template struct llt_inplace { typedef typename NumTraits::Real RealScalar; template - static typename MatrixType::Index unblocked(MatrixType& mat) + static Index unblocked(MatrixType& mat) { using std::sqrt; - typedef typename MatrixType::Index Index; eigen_assert(mat.rows()==mat.cols()); const Index size = mat.rows(); @@ -283,15 +285,14 @@ template struct llt_inplace return k; mat.coeffRef(k,k) = x = sqrt(x); if (k>0 && rs>0) A21.noalias() -= A20 * A10.adjoint(); - if (rs>0) A21 *= RealScalar(1)/x; + if (rs>0) A21 /= x; } return -1; } template - static typename MatrixType::Index blocked(MatrixType& m) + static Index blocked(MatrixType& m) { - typedef typename MatrixType::Index Index; eigen_assert(m.rows()==m.cols()); Index size = m.rows(); if(size<32) @@ -322,7 +323,7 @@ template struct llt_inplace } template - static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma) + static Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma) { return Eigen::internal::llt_rank_update_lower(mat, vec, sigma); } @@ -333,19 +334,19 @@ template struct llt_inplace typedef typename NumTraits::Real RealScalar; template - static EIGEN_STRONG_INLINE typename MatrixType::Index unblocked(MatrixType& mat) + static EIGEN_STRONG_INLINE Index unblocked(MatrixType& mat) { Transpose matt(mat); return llt_inplace::unblocked(matt); } template - static EIGEN_STRONG_INLINE typename MatrixType::Index blocked(MatrixType& mat) + static EIGEN_STRONG_INLINE Index blocked(MatrixType& mat) { Transpose matt(mat); return llt_inplace::blocked(matt); } template - static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma) + static Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma) { Transpose matt(mat); return llt_inplace::rankUpdate(matt, vec.conjugate(), sigma); @@ -356,8 +357,8 @@ template struct LLT_Traits { typedef const TriangularView MatrixL; typedef const TriangularView MatrixU; - static inline MatrixL getL(const MatrixType& m) { return m; } - static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); } + static inline MatrixL getL(const MatrixType& m) { return MatrixL(m); } + static inline MatrixU getU(const MatrixType& m) { return MatrixU(m.adjoint()); } static bool inplace_decomposition(MatrixType& m) { return llt_inplace::blocked(m)==-1; } }; @@ -366,8 +367,8 @@ template struct LLT_Traits { typedef const TriangularView MatrixL; typedef const TriangularView MatrixU; - static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); } - static inline MatrixU getU(const MatrixType& m) { return m; } + static inline MatrixL getL(const MatrixType& m) { return MatrixL(m.adjoint()); } + static inline MatrixU getU(const MatrixType& m) { return MatrixU(m); } static bool inplace_decomposition(MatrixType& m) { return llt_inplace::blocked(m)==-1; } }; @@ -382,12 +383,15 @@ template struct LLT_Traits * Output: \verbinclude TutorialLinAlgComputeTwice.out */ template -LLT& LLT::compute(const MatrixType& a) +template +LLT& LLT::compute(const EigenBase& a) { + check_template_parameters(); + eigen_assert(a.rows()==a.cols()); const Index size = a.rows(); m_matrix.resize(size, size); - m_matrix = a; + m_matrix = a.derived(); m_isInitialized = true; bool ok = Traits::inplace_decomposition(m_matrix); @@ -415,22 +419,16 @@ LLT<_MatrixType,_UpLo> LLT<_MatrixType,_UpLo>::rankUpdate(const VectorType& v, c return *this; } - -namespace internal { -template -struct solve_retval, Rhs> - : solve_retval_base, Rhs> + +#ifndef EIGEN_PARSED_BY_DOXYGEN +template +template +void LLT<_MatrixType,_UpLo>::_solve_impl(const RhsType &rhs, DstType &dst) const { - typedef LLT<_MatrixType,UpLo> LLTType; - EIGEN_MAKE_SOLVE_HELPERS(LLTType,Rhs) - - template void evalTo(Dest& dst) const - { - dst = rhs(); - dec().solveInPlace(dst); - } -}; + dst = rhs; + solveInPlace(dst); } +#endif /** \internal use x = llt_object.solve(x); * @@ -465,8 +463,10 @@ MatrixType LLT::reconstructedMatrix() const return matrixL() * matrixL().adjoint().toDenseMatrix(); } +#ifndef __CUDACC__ /** \cholesky_module * \returns the LLT decomposition of \c *this + * \sa SelfAdjointView::llt() */ template inline const LLT::PlainObject> @@ -477,6 +477,7 @@ MatrixBase::llt() const /** \cholesky_module * \returns the LLT decomposition of \c *this + * \sa SelfAdjointView::llt() */ template inline const LLT::PlainObject, UpLo> @@ -484,7 +485,8 @@ SelfAdjointView::llt() const { return LLT(m_matrix); } - +#endif // __CUDACC__ + } // end namespace Eigen #endif // EIGEN_LLT_H diff --git a/nuparu/include/Eigen/src/Cholesky/LLT_MKL.h b/nuparu/include/Eigen/src/Cholesky/LLT_MKL.h index 64daa445..0d42cb5b 100644 --- a/nuparu/include/Eigen/src/Cholesky/LLT_MKL.h +++ b/nuparu/include/Eigen/src/Cholesky/LLT_MKL.h @@ -46,7 +46,7 @@ template struct mkl_llt; template<> struct mkl_llt \ { \ template \ - static inline typename MatrixType::Index potrf(MatrixType& m, char uplo) \ + static inline Index potrf(MatrixType& m, char uplo) \ { \ lapack_int matrix_order; \ lapack_int size, lda, info, StorageOrder; \ @@ -60,30 +60,30 @@ template<> struct mkl_llt \ lda = m.outerStride(); \ \ info = LAPACKE_##MKLPREFIX##potrf( matrix_order, uplo, size, (MKLTYPE*)a, lda ); \ - info = (info==0) ? Success : NumericalIssue; \ + info = (info==0) ? -1 : info>0 ? info-1 : size; \ return info; \ } \ }; \ template<> struct llt_inplace \ { \ template \ - static typename MatrixType::Index blocked(MatrixType& m) \ + static Index blocked(MatrixType& m) \ { \ return mkl_llt::potrf(m, 'L'); \ } \ template \ - static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ + static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ { return Eigen::internal::llt_rank_update_lower(mat, vec, sigma); } \ }; \ template<> struct llt_inplace \ { \ template \ - static typename MatrixType::Index blocked(MatrixType& m) \ + static Index blocked(MatrixType& m) \ { \ return mkl_llt::potrf(m, 'U'); \ } \ template \ - static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ + static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ { \ Transpose matt(mat); \ return llt_inplace::rankUpdate(matt, vec.conjugate(), sigma); \ diff --git a/nuparu/include/Eigen/src/CholmodSupport/CholmodSupport.h b/nuparu/include/Eigen/src/CholmodSupport/CholmodSupport.h index 783324b0..06421d5e 100644 --- a/nuparu/include/Eigen/src/CholmodSupport/CholmodSupport.h +++ b/nuparu/include/Eigen/src/CholmodSupport/CholmodSupport.h @@ -48,8 +48,8 @@ void cholmod_configure_matrix(CholmodType& mat) /** Wraps the Eigen sparse matrix \a mat into a Cholmod sparse matrix object. * Note that the data are shared. */ -template -cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat) +template +cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_StorageIndex>& mat) { cholmod_sparse res; res.nzmax = mat.nonZeros(); @@ -58,10 +58,12 @@ cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat) res.p = mat.outerIndexPtr(); res.i = mat.innerIndexPtr(); res.x = mat.valuePtr(); + res.z = 0; res.sorted = 1; if(mat.isCompressed()) { res.packed = 1; + res.nz = 0; } else { @@ -72,11 +74,11 @@ cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat) res.dtype = 0; res.stype = -1; - if (internal::is_same<_Index,int>::value) + if (internal::is_same<_StorageIndex,int>::value) { res.itype = CHOLMOD_INT; } - else if (internal::is_same<_Index,UF_long>::value) + else if (internal::is_same<_StorageIndex,SuiteSparse_long>::value) { res.itype = CHOLMOD_LONG; } @@ -103,7 +105,7 @@ const cholmod_sparse viewAsCholmod(const SparseMatrix<_Scalar,_Options,_Index>& /** Returns a view of the Eigen sparse matrix \a mat as Cholmod sparse matrix. * The data are not copied but shared. */ template -cholmod_sparse viewAsCholmod(const SparseSelfAdjointView, UpLo>& mat) +cholmod_sparse viewAsCholmod(const SparseSelfAdjointView, UpLo>& mat) { cholmod_sparse res = viewAsCholmod(mat.matrix().const_cast_derived()); @@ -136,12 +138,12 @@ cholmod_dense viewAsCholmod(MatrixBase& mat) /** Returns a view of the Cholmod sparse matrix \a cm as an Eigen sparse matrix. * The data are not copied but shared. */ -template -MappedSparseMatrix viewAsEigen(cholmod_sparse& cm) +template +MappedSparseMatrix viewAsEigen(cholmod_sparse& cm) { - return MappedSparseMatrix - (cm.nrow, cm.ncol, static_cast(cm.p)[cm.ncol], - static_cast(cm.p), static_cast(cm.i),static_cast(cm.x) ); + return MappedSparseMatrix + (cm.nrow, cm.ncol, static_cast(cm.p)[cm.ncol], + static_cast(cm.p), static_cast(cm.i),static_cast(cm.x) ); } enum CholmodMode { @@ -155,26 +157,35 @@ enum CholmodMode { * \sa class CholmodSupernodalLLT, class CholmodSimplicialLDLT, class CholmodSimplicialLLT */ template -class CholmodBase : internal::noncopyable +class CholmodBase : public SparseSolverBase { + protected: + typedef SparseSolverBase Base; + using Base::derived; + using Base::m_isInitialized; public: typedef _MatrixType MatrixType; enum { UpLo = _UpLo }; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; typedef MatrixType CholMatrixType; - typedef typename MatrixType::Index Index; + typedef typename MatrixType::StorageIndex StorageIndex; + enum { + ColsAtCompileTime = MatrixType::ColsAtCompileTime, + MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime + }; public: CholmodBase() - : m_cholmodFactor(0), m_info(Success), m_isInitialized(false) + : m_cholmodFactor(0), m_info(Success) { + m_shiftOffset[0] = m_shiftOffset[1] = RealScalar(0.0); cholmod_start(&m_cholmod); } - CholmodBase(const MatrixType& matrix) - : m_cholmodFactor(0), m_info(Success), m_isInitialized(false) + explicit CholmodBase(const MatrixType& matrix) + : m_cholmodFactor(0), m_info(Success) { m_shiftOffset[0] = m_shiftOffset[1] = RealScalar(0.0); cholmod_start(&m_cholmod); @@ -188,11 +199,8 @@ class CholmodBase : internal::noncopyable cholmod_finish(&m_cholmod); } - inline Index cols() const { return m_cholmodFactor->n; } - inline Index rows() const { return m_cholmodFactor->n; } - - Derived& derived() { return *static_cast(this); } - const Derived& derived() const { return *static_cast(this); } + inline StorageIndex cols() const { return internal::convert_index(m_cholmodFactor->n); } + inline StorageIndex rows() const { return internal::convert_index(m_cholmodFactor->n); } /** \brief Reports whether previous computation was successful. * @@ -213,35 +221,7 @@ class CholmodBase : internal::noncopyable return derived(); } - /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A. - * - * \sa compute() - */ - template - inline const internal::solve_retval - solve(const MatrixBase& b) const - { - eigen_assert(m_isInitialized && "LLT is not initialized."); - eigen_assert(rows()==b.rows() - && "CholmodDecomposition::solve(): invalid number of rows of the right hand side matrix b"); - return internal::solve_retval(*this, b.derived()); - } - - /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A. - * - * \sa compute() - */ - template - inline const internal::sparse_solve_retval - solve(const SparseMatrixBase& b) const - { - eigen_assert(m_isInitialized && "LLT is not initialized."); - eigen_assert(rows()==b.rows() - && "CholmodDecomposition::solve(): invalid number of rows of the right hand side matrix b"); - return internal::sparse_solve_retval(*this, b.derived()); - } - - /** Performs a symbolic decomposition on the sparcity of \a matrix. + /** Performs a symbolic decomposition on the sparsity pattern of \a matrix. * * This function is particularly useful when solving for several problems having the same structure. * @@ -265,7 +245,7 @@ class CholmodBase : internal::noncopyable /** Performs a numeric decomposition of \a matrix * - * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed. + * The given matrix must have the same sparsity pattern as the matrix on which the symbolic decomposition has been performed. * * \sa analyzePattern() */ @@ -287,7 +267,7 @@ class CholmodBase : internal::noncopyable #ifndef EIGEN_PARSED_BY_DOXYGEN /** \internal */ template - void _solve(const MatrixBase &b, MatrixBase &dest) const + void _solve_impl(const MatrixBase &b, MatrixBase &dest) const { eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()"); const Index size = m_cholmodFactor->n; @@ -301,15 +281,16 @@ class CholmodBase : internal::noncopyable if(!x_cd) { this->m_info = NumericalIssue; + return; } - // TODO optimize this copy by swapping when possible (be carreful with alignment, etc.) + // TODO optimize this copy by swapping when possible (be careful with alignment, etc.) dest = Matrix::Map(reinterpret_cast(x_cd->x),b.rows(),b.cols()); cholmod_free_dense(&x_cd, &m_cholmod); } /** \internal */ template - void _solve(const SparseMatrix &b, SparseMatrix &dest) const + void _solve_impl(const SparseMatrix &b, SparseMatrix &dest) const { eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()"); const Index size = m_cholmodFactor->n; @@ -322,8 +303,9 @@ class CholmodBase : internal::noncopyable if(!x_cs) { this->m_info = NumericalIssue; + return; } - // TODO optimize this copy by swapping when possible (be carreful with alignment, etc.) + // TODO optimize this copy by swapping when possible (be careful with alignment, etc.) dest = viewAsEigen(*x_cs); cholmod_free_sparse(&x_cs, &m_cholmod); } @@ -354,7 +336,6 @@ class CholmodBase : internal::noncopyable cholmod_factor* m_cholmodFactor; RealScalar m_shiftOffset[2]; mutable ComputationInfo m_info; - bool m_isInitialized; int m_factorizationIsOk; int m_analysisIsOk; }; @@ -365,14 +346,16 @@ class CholmodBase : internal::noncopyable * * This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization * using the Cholmod library. - * This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Thefore, it has little practical interest. - * The sparse matrix A must be selfajoint and positive definite. The vectors or matrices + * This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Therefore, it has little practical interest. + * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices * X and B can be either dense or sparse. * * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower * or Upper. Default is Lower. * + * \implsparsesolverconcept + * * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed. * * \sa \ref TutorialSparseDirectSolvers, class CholmodSupernodalLLT, class SimplicialLLT @@ -392,7 +375,7 @@ class CholmodSimplicialLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimpl CholmodSimplicialLLT(const MatrixType& matrix) : Base() { init(); - compute(matrix); + this->compute(matrix); } ~CholmodSimplicialLLT() {} @@ -412,14 +395,16 @@ class CholmodSimplicialLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimpl * * This class allows to solve for A.X = B sparse linear problems via a simplicial LDL^T Cholesky factorization * using the Cholmod library. - * This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Thefore, it has little practical interest. - * The sparse matrix A must be selfajoint and positive definite. The vectors or matrices + * This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Therefore, it has little practical interest. + * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices * X and B can be either dense or sparse. * * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower * or Upper. Default is Lower. * + * \implsparsesolverconcept + * * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed. * * \sa \ref TutorialSparseDirectSolvers, class CholmodSupernodalLLT, class SimplicialLDLT @@ -439,7 +424,7 @@ class CholmodSimplicialLDLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimp CholmodSimplicialLDLT(const MatrixType& matrix) : Base() { init(); - compute(matrix); + this->compute(matrix); } ~CholmodSimplicialLDLT() {} @@ -458,13 +443,15 @@ class CholmodSimplicialLDLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimp * This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization * using the Cholmod library. * This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM. - * The sparse matrix A must be selfajoint and positive definite. The vectors or matrices + * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices * X and B can be either dense or sparse. * * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower * or Upper. Default is Lower. * + * \implsparsesolverconcept + * * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed. * * \sa \ref TutorialSparseDirectSolvers @@ -484,7 +471,7 @@ class CholmodSupernodalLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSuper CholmodSupernodalLLT(const MatrixType& matrix) : Base() { init(); - compute(matrix); + this->compute(matrix); } ~CholmodSupernodalLLT() {} @@ -501,7 +488,7 @@ class CholmodSupernodalLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSuper * \brief A general Cholesky factorization and solver based on Cholmod * * This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization - * using the Cholmod library. The sparse matrix A must be selfajoint and positive definite. The vectors or matrices + * using the Cholmod library. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices * X and B can be either dense or sparse. * * This variant permits to change the underlying Cholesky method at runtime. @@ -512,6 +499,8 @@ class CholmodSupernodalLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSuper * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower * or Upper. Default is Lower. * + * \implsparsesolverconcept + * * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed. * * \sa \ref TutorialSparseDirectSolvers @@ -531,7 +520,7 @@ class CholmodDecomposition : public CholmodBase<_MatrixType, _UpLo, CholmodDecom CholmodDecomposition(const MatrixType& matrix) : Base() { init(); - compute(matrix); + this->compute(matrix); } ~CholmodDecomposition() {} @@ -569,36 +558,6 @@ class CholmodDecomposition : public CholmodBase<_MatrixType, _UpLo, CholmodDecom } }; -namespace internal { - -template -struct solve_retval, Rhs> - : solve_retval_base, Rhs> -{ - typedef CholmodBase<_MatrixType,_UpLo,Derived> Dec; - EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs) - - template void evalTo(Dest& dst) const - { - dec()._solve(rhs(),dst); - } -}; - -template -struct sparse_solve_retval, Rhs> - : sparse_solve_retval_base, Rhs> -{ - typedef CholmodBase<_MatrixType,_UpLo,Derived> Dec; - EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs) - - template void evalTo(Dest& dst) const - { - dec()._solve(rhs(),dst); - } -}; - -} // end namespace internal - } // end namespace Eigen #endif // EIGEN_CHOLMODSUPPORT_H diff --git a/nuparu/include/Eigen/src/Core/Array.h b/nuparu/include/Eigen/src/Core/Array.h index 497efff6..e38eda72 100644 --- a/nuparu/include/Eigen/src/Core/Array.h +++ b/nuparu/include/Eigen/src/Core/Array.h @@ -24,6 +24,9 @@ namespace Eigen { * API for the %Matrix class provides easy access to linear-algebra * operations. * + * See documentation of class Matrix for detailed information on the template parameters + * storage layout. + * * This class can be extended with the help of the plugin mechanism described on the page * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_ARRAY_PLUGIN. * @@ -69,11 +72,27 @@ class Array * the usage of 'using'. This should be done only for operator=. */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const EigenBase &other) { return Base::operator=(other); } + /** Set all the entries to \a value. + * \sa DenseBase::setConstant(), DenseBase::fill() + */ + /* This overload is needed because the usage of + * using Base::operator=; + * fails on MSVC. Since the code below is working with GCC and MSVC, we skipped + * the usage of 'using'. This should be done only for operator=. + */ + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE Array& operator=(const Scalar &value) + { + Base::setConstant(value); + return *this; + } + /** Copies the value of the expression \a other into \c *this with automatic resizing. * * *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized), @@ -84,7 +103,8 @@ class Array * remain row-vectors and vectors remain vectors. */ template - EIGEN_STRONG_INLINE Array& operator=(const ArrayBase& other) + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE Array& operator=(const DenseBase& other) { return Base::_set(other); } @@ -92,11 +112,12 @@ class Array /** This is a special case of the templated operator=. Its purpose is to * prevent a default operator= from hiding the templated operator=. */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const Array& other) { return Base::_set(other); } - + /** Default constructor. * * For fixed-size matrices, does nothing. @@ -107,6 +128,7 @@ class Array * * \sa resize(Index,Index) */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array() : Base() { Base::_check_template_params(); @@ -116,6 +138,7 @@ class Array #ifndef EIGEN_PARSED_BY_DOXYGEN // FIXME is it still needed ?? /** \internal */ + EIGEN_DEVICE_FUNC Array(internal::constructor_without_unaligned_array_assert) : Base(internal::constructor_without_unaligned_array_assert()) { @@ -124,41 +147,64 @@ class Array } #endif - /** Constructs a vector or row-vector with given dimension. \only_for_vectors - * - * Note that this is only useful for dynamic-size vectors. For fixed-size vectors, - * it is redundant to pass the dimension here, so it makes more sense to use the default - * constructor Matrix() instead. - */ - EIGEN_STRONG_INLINE explicit Array(Index dim) - : Base(dim, RowsAtCompileTime == 1 ? 1 : dim, ColsAtCompileTime == 1 ? 1 : dim) +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + Array(Array&& other) + : Base(std::move(other)) { Base::_check_template_params(); - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Array) - eigen_assert(dim >= 0); - eigen_assert(SizeAtCompileTime == Dynamic || SizeAtCompileTime == dim); - EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED + if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic) + Base::_set_noalias(other); } + EIGEN_DEVICE_FUNC + Array& operator=(Array&& other) + { + other.swap(*this); + return *this; + } +#endif #ifndef EIGEN_PARSED_BY_DOXYGEN + template + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE explicit Array(const T& x) + { + Base::_check_template_params(); + Base::template _init1(x); + } + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1) { Base::_check_template_params(); this->template _init2(val0, val1); } #else - /** constructs an uninitialized matrix with \a rows rows and \a cols columns. + /** \brief Constructs a fixed-sized array initialized with coefficients starting at \a data */ + EIGEN_DEVICE_FUNC explicit Array(const Scalar *data); + /** Constructs a vector or row-vector with given dimension. \only_for_vectors * - * This is useful for dynamic-size matrices. For fixed-size matrices, + * Note that this is only useful for dynamic-size vectors. For fixed-size vectors, + * it is redundant to pass the dimension here, so it makes more sense to use the default + * constructor Array() instead. + */ + EIGEN_DEVICE_FUNC + EIGEN_STRONG_INLINE explicit Array(Index dim); + /** constructs an initialized 1x1 Array with the given coefficient */ + Array(const Scalar& value); + /** constructs an uninitialized array with \a rows rows and \a cols columns. + * + * This is useful for dynamic-size arrays. For fixed-size arrays, * it is redundant to pass these parameters, so one should use the default constructor - * Matrix() instead. */ + * Array() instead. */ Array(Index rows, Index cols); /** constructs an initialized 2D vector with given coefficients */ Array(const Scalar& val0, const Scalar& val1); #endif /** constructs an initialized 3D vector with given coefficients */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2) { Base::_check_template_params(); @@ -168,6 +214,7 @@ class Array m_storage.data()[2] = val2; } /** constructs an initialized 4D vector with given coefficients */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2, const Scalar& val3) { Base::_check_template_params(); @@ -178,51 +225,21 @@ class Array m_storage.data()[3] = val3; } - explicit Array(const Scalar *data); - - /** Constructor copying the value of the expression \a other */ - template - EIGEN_STRONG_INLINE Array(const ArrayBase& other) - : Base(other.rows() * other.cols(), other.rows(), other.cols()) - { - Base::_check_template_params(); - Base::_set_noalias(other); - } /** Copy constructor */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Array& other) - : Base(other.rows() * other.cols(), other.rows(), other.cols()) - { - Base::_check_template_params(); - Base::_set_noalias(other); - } - /** Copy constructor with in-place evaluation */ - template - EIGEN_STRONG_INLINE Array(const ReturnByValue& other) - { - Base::_check_template_params(); - Base::resize(other.rows(), other.cols()); - other.evalTo(*this); - } + : Base(other) + { } /** \sa MatrixBase::operator=(const EigenBase&) */ template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const EigenBase &other) - : Base(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols()) - { - Base::_check_template_params(); - Base::resize(other.rows(), other.cols()); - *this = other; - } - - /** Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the - * data pointers. - */ - template - void swap(ArrayBase const & other) - { this->_swap(other.derived()); } + : Base(other.derived()) + { } - inline Index innerStride() const { return 1; } - inline Index outerStride() const { return this->innerSize(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return 1; } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return this->innerSize(); } #ifdef EIGEN_ARRAY_PLUGIN #include EIGEN_ARRAY_PLUGIN diff --git a/nuparu/include/Eigen/src/Core/ArrayBase.h b/nuparu/include/Eigen/src/Core/ArrayBase.h index 38852600..b4c24a27 100644 --- a/nuparu/include/Eigen/src/Core/ArrayBase.h +++ b/nuparu/include/Eigen/src/Core/ArrayBase.h @@ -46,16 +46,14 @@ template class ArrayBase typedef ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl; - using internal::special_scalar_op_base::Scalar, - typename NumTraits::Scalar>::Real>::operator*; - typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename internal::packet_traits::type PacketScalar; typedef typename NumTraits::Real RealScalar; typedef DenseBase Base; + using Base::operator*; + using Base::operator/; using Base::RowsAtCompileTime; using Base::ColsAtCompileTime; using Base::SizeAtCompileTime; @@ -64,8 +62,7 @@ template class ArrayBase using Base::MaxSizeAtCompileTime; using Base::IsVectorAtCompileTime; using Base::Flags; - using Base::CoeffReadCost; - + using Base::derived; using Base::const_cast_derived; using Base::rows; @@ -85,22 +82,10 @@ template class ArrayBase #endif // not EIGEN_PARSED_BY_DOXYGEN #ifndef EIGEN_PARSED_BY_DOXYGEN - /** \internal the plain matrix type corresponding to this expression. Note that is not necessarily - * exactly the return type of eval(): in the case of plain matrices, the return type of eval() is a const - * reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either - * PlainObject or const PlainObject&. - */ - typedef Array::Scalar, - internal::traits::RowsAtCompileTime, - internal::traits::ColsAtCompileTime, - AutoAlign | (internal::traits::Flags&RowMajorBit ? RowMajor : ColMajor), - internal::traits::MaxRowsAtCompileTime, - internal::traits::MaxColsAtCompileTime - > PlainObject; - + typedef typename Base::PlainObject PlainObject; /** \internal Represents a matrix with all coefficients equal to one another*/ - typedef CwiseNullaryOp,Derived> ConstantReturnType; + typedef CwiseNullaryOp,PlainObject> ConstantReturnType; #endif // not EIGEN_PARSED_BY_DOXYGEN #define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::ArrayBase @@ -118,40 +103,57 @@ template class ArrayBase /** Special case of the template operator=, in order to prevent the compiler * from generating a default operator= (issue hit with g++ 4.1) */ + EIGEN_DEVICE_FUNC Derived& operator=(const ArrayBase& other) { - return internal::assign_selector::run(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } - - Derived& operator+=(const Scalar& scalar) - { return *this = derived() + scalar; } - Derived& operator-=(const Scalar& scalar) - { return *this = derived() - scalar; } + + /** Set all the entries to \a value. + * \sa DenseBase::setConstant(), DenseBase::fill() */ + EIGEN_DEVICE_FUNC + Derived& operator=(const Scalar &value) + { Base::setConstant(value); return derived(); } + + EIGEN_DEVICE_FUNC + Derived& operator+=(const Scalar& scalar); + EIGEN_DEVICE_FUNC + Derived& operator-=(const Scalar& scalar); template + EIGEN_DEVICE_FUNC Derived& operator+=(const ArrayBase& other); template + EIGEN_DEVICE_FUNC Derived& operator-=(const ArrayBase& other); template + EIGEN_DEVICE_FUNC Derived& operator*=(const ArrayBase& other); template + EIGEN_DEVICE_FUNC Derived& operator/=(const ArrayBase& other); public: + EIGEN_DEVICE_FUNC ArrayBase& array() { return *this; } + EIGEN_DEVICE_FUNC const ArrayBase& array() const { return *this; } /** \returns an \link Eigen::MatrixBase Matrix \endlink expression of this array * \sa MatrixBase::array() */ - MatrixWrapper matrix() { return derived(); } - const MatrixWrapper matrix() const { return derived(); } + EIGEN_DEVICE_FUNC + MatrixWrapper matrix() { return MatrixWrapper(derived()); } + EIGEN_DEVICE_FUNC + const MatrixWrapper matrix() const { return MatrixWrapper(derived()); } // template // inline void evalTo(Dest& dst) const { dst = matrix(); } protected: + EIGEN_DEVICE_FUNC ArrayBase() : Base() {} private: @@ -176,8 +178,7 @@ template EIGEN_STRONG_INLINE Derived & ArrayBase::operator-=(const ArrayBase &other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::sub_assign_op()); return derived(); } @@ -190,8 +191,7 @@ template EIGEN_STRONG_INLINE Derived & ArrayBase::operator+=(const ArrayBase& other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::add_assign_op()); return derived(); } @@ -204,8 +204,7 @@ template EIGEN_STRONG_INLINE Derived & ArrayBase::operator*=(const ArrayBase& other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::mul_assign_op()); return derived(); } @@ -218,8 +217,7 @@ template EIGEN_STRONG_INLINE Derived & ArrayBase::operator/=(const ArrayBase& other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::div_assign_op()); return derived(); } diff --git a/nuparu/include/Eigen/src/Core/ArrayWrapper.h b/nuparu/include/Eigen/src/Core/ArrayWrapper.h index a791bc35..4e484f29 100644 --- a/nuparu/include/Eigen/src/Core/ArrayWrapper.h +++ b/nuparu/include/Eigen/src/Core/ArrayWrapper.h @@ -29,6 +29,11 @@ struct traits > : public traits::type > { typedef ArrayXpr XprKind; + // Let's remove NestByRefBit + enum { + Flags0 = traits::type >::Flags, + Flags = Flags0 & ~NestByRefBit + }; }; } @@ -39,6 +44,7 @@ class ArrayWrapper : public ArrayBase > typedef ArrayBase Base; EIGEN_DENSE_PUBLIC_INTERFACE(ArrayWrapper) EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ArrayWrapper) + typedef typename internal::remove_all::type NestedExpression; typedef typename internal::conditional< internal::is_lvalue::value, @@ -46,43 +52,56 @@ class ArrayWrapper : public ArrayBase > const Scalar >::type ScalarWithConstIfNotLvalue; - typedef typename internal::nested::type NestedExpressionType; + typedef typename internal::ref_selector::type NestedExpressionType; - inline ArrayWrapper(ExpressionType& matrix) : m_expression(matrix) {} + EIGEN_DEVICE_FUNC + explicit EIGEN_STRONG_INLINE ArrayWrapper(ExpressionType& matrix) : m_expression(matrix) {} + EIGEN_DEVICE_FUNC inline Index rows() const { return m_expression.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_expression.cols(); } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_expression.outerStride(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_expression.innerStride(); } + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue* data() { return m_expression.const_cast_derived().data(); } + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return m_expression.data(); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index rowId, Index colId) const { return m_expression.coeff(rowId, colId); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index rowId, Index colId) { return m_expression.const_cast_derived().coeffRef(rowId, colId); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index rowId, Index colId) const { return m_expression.const_cast_derived().coeffRef(rowId, colId); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index index) const { return m_expression.coeff(index); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) { return m_expression.const_cast_derived().coeffRef(index); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index index) const { return m_expression.const_cast_derived().coeffRef(index); @@ -113,9 +132,11 @@ class ArrayWrapper : public ArrayBase > } template + EIGEN_DEVICE_FUNC inline void evalTo(Dest& dst) const { dst = m_expression; } const typename internal::remove_all::type& + EIGEN_DEVICE_FUNC nestedExpression() const { return m_expression; @@ -123,10 +144,12 @@ class ArrayWrapper : public ArrayBase > /** Forwards the resizing request to the nested expression * \sa DenseBase::resize(Index) */ + EIGEN_DEVICE_FUNC void resize(Index newSize) { m_expression.const_cast_derived().resize(newSize); } /** Forwards the resizing request to the nested expression * \sa DenseBase::resize(Index,Index)*/ - void resize(Index nbRows, Index nbCols) { m_expression.const_cast_derived().resize(nbRows,nbCols); } + EIGEN_DEVICE_FUNC + void resize(Index rows, Index cols) { m_expression.const_cast_derived().resize(rows,cols); } protected: NestedExpressionType m_expression; @@ -149,6 +172,11 @@ struct traits > : public traits::type > { typedef MatrixXpr XprKind; + // Let's remove NestByRefBit + enum { + Flags0 = traits::type >::Flags, + Flags = Flags0 & ~NestByRefBit + }; }; } @@ -159,6 +187,7 @@ class MatrixWrapper : public MatrixBase > typedef MatrixBase > Base; EIGEN_DENSE_PUBLIC_INTERFACE(MatrixWrapper) EIGEN_INHERIT_ASSIGNMENT_OPERATORS(MatrixWrapper) + typedef typename internal::remove_all::type NestedExpression; typedef typename internal::conditional< internal::is_lvalue::value, @@ -166,43 +195,56 @@ class MatrixWrapper : public MatrixBase > const Scalar >::type ScalarWithConstIfNotLvalue; - typedef typename internal::nested::type NestedExpressionType; + typedef typename internal::ref_selector::type NestedExpressionType; - inline MatrixWrapper(ExpressionType& a_matrix) : m_expression(a_matrix) {} + EIGEN_DEVICE_FUNC + explicit inline MatrixWrapper(ExpressionType& matrix) : m_expression(matrix) {} + EIGEN_DEVICE_FUNC inline Index rows() const { return m_expression.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_expression.cols(); } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_expression.outerStride(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_expression.innerStride(); } + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue* data() { return m_expression.const_cast_derived().data(); } + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return m_expression.data(); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index rowId, Index colId) const { return m_expression.coeff(rowId, colId); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index rowId, Index colId) { return m_expression.const_cast_derived().coeffRef(rowId, colId); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index rowId, Index colId) const { return m_expression.derived().coeffRef(rowId, colId); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index index) const { return m_expression.coeff(index); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) { return m_expression.const_cast_derived().coeffRef(index); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index index) const { return m_expression.const_cast_derived().coeffRef(index); @@ -232,6 +274,7 @@ class MatrixWrapper : public MatrixBase > m_expression.const_cast_derived().template writePacket(index, val); } + EIGEN_DEVICE_FUNC const typename internal::remove_all::type& nestedExpression() const { @@ -240,10 +283,12 @@ class MatrixWrapper : public MatrixBase > /** Forwards the resizing request to the nested expression * \sa DenseBase::resize(Index) */ + EIGEN_DEVICE_FUNC void resize(Index newSize) { m_expression.const_cast_derived().resize(newSize); } /** Forwards the resizing request to the nested expression * \sa DenseBase::resize(Index,Index)*/ - void resize(Index nbRows, Index nbCols) { m_expression.const_cast_derived().resize(nbRows,nbCols); } + EIGEN_DEVICE_FUNC + void resize(Index rows, Index cols) { m_expression.const_cast_derived().resize(rows,cols); } protected: NestedExpressionType m_expression; diff --git a/nuparu/include/Eigen/src/Core/Assign.h b/nuparu/include/Eigen/src/Core/Assign.h index 1dccc2f4..53806ba3 100644 --- a/nuparu/include/Eigen/src/Core/Assign.h +++ b/nuparu/include/Eigen/src/Core/Assign.h @@ -14,471 +14,6 @@ namespace Eigen { -namespace internal { - -/*************************************************************************** -* Part 1 : the logic deciding a strategy for traversal and unrolling * -***************************************************************************/ - -template -struct assign_traits -{ -public: - enum { - DstIsAligned = Derived::Flags & AlignedBit, - DstHasDirectAccess = Derived::Flags & DirectAccessBit, - SrcIsAligned = OtherDerived::Flags & AlignedBit, - JointAlignment = bool(DstIsAligned) && bool(SrcIsAligned) ? Aligned : Unaligned - }; - -private: - enum { - InnerSize = int(Derived::IsVectorAtCompileTime) ? int(Derived::SizeAtCompileTime) - : int(Derived::Flags)&RowMajorBit ? int(Derived::ColsAtCompileTime) - : int(Derived::RowsAtCompileTime), - InnerMaxSize = int(Derived::IsVectorAtCompileTime) ? int(Derived::MaxSizeAtCompileTime) - : int(Derived::Flags)&RowMajorBit ? int(Derived::MaxColsAtCompileTime) - : int(Derived::MaxRowsAtCompileTime), - MaxSizeAtCompileTime = Derived::SizeAtCompileTime, - PacketSize = packet_traits::size - }; - - enum { - StorageOrdersAgree = (int(Derived::IsRowMajor) == int(OtherDerived::IsRowMajor)), - MightVectorize = StorageOrdersAgree - && (int(Derived::Flags) & int(OtherDerived::Flags) & ActualPacketAccessBit), - MayInnerVectorize = MightVectorize && int(InnerSize)!=Dynamic && int(InnerSize)%int(PacketSize)==0 - && int(DstIsAligned) && int(SrcIsAligned), - MayLinearize = StorageOrdersAgree && (int(Derived::Flags) & int(OtherDerived::Flags) & LinearAccessBit), - MayLinearVectorize = MightVectorize && MayLinearize && DstHasDirectAccess - && (DstIsAligned || MaxSizeAtCompileTime == Dynamic), - /* If the destination isn't aligned, we have to do runtime checks and we don't unroll, - so it's only good for large enough sizes. */ - MaySliceVectorize = MightVectorize && DstHasDirectAccess - && (int(InnerMaxSize)==Dynamic || int(InnerMaxSize)>=3*PacketSize) - /* slice vectorization can be slow, so we only want it if the slices are big, which is - indicated by InnerMaxSize rather than InnerSize, think of the case of a dynamic block - in a fixed-size matrix */ - }; - -public: - enum { - Traversal = int(MayInnerVectorize) ? int(InnerVectorizedTraversal) - : int(MayLinearVectorize) ? int(LinearVectorizedTraversal) - : int(MaySliceVectorize) ? int(SliceVectorizedTraversal) - : int(MayLinearize) ? int(LinearTraversal) - : int(DefaultTraversal), - Vectorized = int(Traversal) == InnerVectorizedTraversal - || int(Traversal) == LinearVectorizedTraversal - || int(Traversal) == SliceVectorizedTraversal - }; - -private: - enum { - UnrollingLimit = EIGEN_UNROLLING_LIMIT * (Vectorized ? int(PacketSize) : 1), - MayUnrollCompletely = int(Derived::SizeAtCompileTime) != Dynamic - && int(OtherDerived::CoeffReadCost) != Dynamic - && int(Derived::SizeAtCompileTime) * int(OtherDerived::CoeffReadCost) <= int(UnrollingLimit), - MayUnrollInner = int(InnerSize) != Dynamic - && int(OtherDerived::CoeffReadCost) != Dynamic - && int(InnerSize) * int(OtherDerived::CoeffReadCost) <= int(UnrollingLimit) - }; - -public: - enum { - Unrolling = (int(Traversal) == int(InnerVectorizedTraversal) || int(Traversal) == int(DefaultTraversal)) - ? ( - int(MayUnrollCompletely) ? int(CompleteUnrolling) - : int(MayUnrollInner) ? int(InnerUnrolling) - : int(NoUnrolling) - ) - : int(Traversal) == int(LinearVectorizedTraversal) - ? ( bool(MayUnrollCompletely) && bool(DstIsAligned) ? int(CompleteUnrolling) : int(NoUnrolling) ) - : int(Traversal) == int(LinearTraversal) - ? ( bool(MayUnrollCompletely) ? int(CompleteUnrolling) : int(NoUnrolling) ) - : int(NoUnrolling) - }; - -#ifdef EIGEN_DEBUG_ASSIGN - static void debug() - { - EIGEN_DEBUG_VAR(DstIsAligned) - EIGEN_DEBUG_VAR(SrcIsAligned) - EIGEN_DEBUG_VAR(JointAlignment) - EIGEN_DEBUG_VAR(InnerSize) - EIGEN_DEBUG_VAR(InnerMaxSize) - EIGEN_DEBUG_VAR(PacketSize) - EIGEN_DEBUG_VAR(StorageOrdersAgree) - EIGEN_DEBUG_VAR(MightVectorize) - EIGEN_DEBUG_VAR(MayLinearize) - EIGEN_DEBUG_VAR(MayInnerVectorize) - EIGEN_DEBUG_VAR(MayLinearVectorize) - EIGEN_DEBUG_VAR(MaySliceVectorize) - EIGEN_DEBUG_VAR(Traversal) - EIGEN_DEBUG_VAR(UnrollingLimit) - EIGEN_DEBUG_VAR(MayUnrollCompletely) - EIGEN_DEBUG_VAR(MayUnrollInner) - EIGEN_DEBUG_VAR(Unrolling) - } -#endif -}; - -/*************************************************************************** -* Part 2 : meta-unrollers -***************************************************************************/ - -/************************ -*** Default traversal *** -************************/ - -template -struct assign_DefaultTraversal_CompleteUnrolling -{ - enum { - outer = Index / Derived1::InnerSizeAtCompileTime, - inner = Index % Derived1::InnerSizeAtCompileTime - }; - - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - dst.copyCoeffByOuterInner(outer, inner, src); - assign_DefaultTraversal_CompleteUnrolling::run(dst, src); - } -}; - -template -struct assign_DefaultTraversal_CompleteUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {} -}; - -template -struct assign_DefaultTraversal_InnerUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer) - { - dst.copyCoeffByOuterInner(outer, Index, src); - assign_DefaultTraversal_InnerUnrolling::run(dst, src, outer); - } -}; - -template -struct assign_DefaultTraversal_InnerUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {} -}; - -/*********************** -*** Linear traversal *** -***********************/ - -template -struct assign_LinearTraversal_CompleteUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - dst.copyCoeff(Index, src); - assign_LinearTraversal_CompleteUnrolling::run(dst, src); - } -}; - -template -struct assign_LinearTraversal_CompleteUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {} -}; - -/************************** -*** Inner vectorization *** -**************************/ - -template -struct assign_innervec_CompleteUnrolling -{ - enum { - outer = Index / Derived1::InnerSizeAtCompileTime, - inner = Index % Derived1::InnerSizeAtCompileTime, - JointAlignment = assign_traits::JointAlignment - }; - - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - dst.template copyPacketByOuterInner(outer, inner, src); - assign_innervec_CompleteUnrolling::size, Stop>::run(dst, src); - } -}; - -template -struct assign_innervec_CompleteUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {} -}; - -template -struct assign_innervec_InnerUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer) - { - dst.template copyPacketByOuterInner(outer, Index, src); - assign_innervec_InnerUnrolling::size, Stop>::run(dst, src, outer); - } -}; - -template -struct assign_innervec_InnerUnrolling -{ - static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {} -}; - -/*************************************************************************** -* Part 3 : implementation of all cases -***************************************************************************/ - -template::Traversal, - int Unrolling = assign_traits::Unrolling, - int Version = Specialized> -struct assign_impl; - -/************************ -*** Default traversal *** -************************/ - -template -struct assign_impl -{ - static inline void run(Derived1 &, const Derived2 &) { } -}; - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static inline void run(Derived1 &dst, const Derived2 &src) - { - const Index innerSize = dst.innerSize(); - const Index outerSize = dst.outerSize(); - for(Index outer = 0; outer < outerSize; ++outer) - for(Index inner = 0; inner < innerSize; ++inner) - dst.copyCoeffByOuterInner(outer, inner, src); - } -}; - -template -struct assign_impl -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - assign_DefaultTraversal_CompleteUnrolling - ::run(dst, src); - } -}; - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - const Index outerSize = dst.outerSize(); - for(Index outer = 0; outer < outerSize; ++outer) - assign_DefaultTraversal_InnerUnrolling - ::run(dst, src, outer); - } -}; - -/*********************** -*** Linear traversal *** -***********************/ - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static inline void run(Derived1 &dst, const Derived2 &src) - { - const Index size = dst.size(); - for(Index i = 0; i < size; ++i) - dst.copyCoeff(i, src); - } -}; - -template -struct assign_impl -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - assign_LinearTraversal_CompleteUnrolling - ::run(dst, src); - } -}; - -/************************** -*** Inner vectorization *** -**************************/ - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static inline void run(Derived1 &dst, const Derived2 &src) - { - const Index innerSize = dst.innerSize(); - const Index outerSize = dst.outerSize(); - const Index packetSize = packet_traits::size; - for(Index outer = 0; outer < outerSize; ++outer) - for(Index inner = 0; inner < innerSize; inner+=packetSize) - dst.template copyPacketByOuterInner(outer, inner, src); - } -}; - -template -struct assign_impl -{ - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - assign_innervec_CompleteUnrolling - ::run(dst, src); - } -}; - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - const Index outerSize = dst.outerSize(); - for(Index outer = 0; outer < outerSize; ++outer) - assign_innervec_InnerUnrolling - ::run(dst, src, outer); - } -}; - -/*************************** -*** Linear vectorization *** -***************************/ - -template -struct unaligned_assign_impl -{ - template - static EIGEN_STRONG_INLINE void run(const Derived&, OtherDerived&, typename Derived::Index, typename Derived::Index) {} -}; - -template <> -struct unaligned_assign_impl -{ - // MSVC must not inline this functions. If it does, it fails to optimize the - // packet access path. -#ifdef _MSC_VER - template - static EIGEN_DONT_INLINE void run(const Derived& src, OtherDerived& dst, typename Derived::Index start, typename Derived::Index end) -#else - template - static EIGEN_STRONG_INLINE void run(const Derived& src, OtherDerived& dst, typename Derived::Index start, typename Derived::Index end) -#endif - { - for (typename Derived::Index index = start; index < end; ++index) - dst.copyCoeff(index, src); - } -}; - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - const Index size = dst.size(); - typedef packet_traits PacketTraits; - enum { - packetSize = PacketTraits::size, - dstAlignment = PacketTraits::AlignedOnScalar ? Aligned : int(assign_traits::DstIsAligned) , - srcAlignment = assign_traits::JointAlignment - }; - const Index alignedStart = assign_traits::DstIsAligned ? 0 - : internal::first_aligned(&dst.coeffRef(0), size); - const Index alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize; - - unaligned_assign_impl::DstIsAligned!=0>::run(src,dst,0,alignedStart); - - for(Index index = alignedStart; index < alignedEnd; index += packetSize) - { - dst.template copyPacket(index, src); - } - - unaligned_assign_impl<>::run(src,dst,alignedEnd,size); - } -}; - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src) - { - enum { size = Derived1::SizeAtCompileTime, - packetSize = packet_traits::size, - alignedSize = (size/packetSize)*packetSize }; - - assign_innervec_CompleteUnrolling::run(dst, src); - assign_DefaultTraversal_CompleteUnrolling::run(dst, src); - } -}; - -/************************** -*** Slice vectorization *** -***************************/ - -template -struct assign_impl -{ - typedef typename Derived1::Index Index; - static inline void run(Derived1 &dst, const Derived2 &src) - { - typedef packet_traits PacketTraits; - enum { - packetSize = PacketTraits::size, - alignable = PacketTraits::AlignedOnScalar, - dstAlignment = alignable ? Aligned : int(assign_traits::DstIsAligned) , - srcAlignment = assign_traits::JointAlignment - }; - const Index packetAlignedMask = packetSize - 1; - const Index innerSize = dst.innerSize(); - const Index outerSize = dst.outerSize(); - const Index alignedStep = alignable ? (packetSize - dst.outerStride() % packetSize) & packetAlignedMask : 0; - Index alignedStart = ((!alignable) || assign_traits::DstIsAligned) ? 0 - : internal::first_aligned(&dst.coeffRef(0,0), innerSize); - - for(Index outer = 0; outer < outerSize; ++outer) - { - const Index alignedEnd = alignedStart + ((innerSize-alignedStart) & ~packetAlignedMask); - // do the non-vectorizable part of the assignment - for(Index inner = 0; inner(outer, inner, src); - - // do the non-vectorizable part of the assignment - for(Index inner = alignedEnd; inner((alignedStart+alignedStep)%packetSize, innerSize); - } - } -}; - -} // end namespace internal - -/*************************************************************************** -* Part 4 : implementation of DenseBase methods -***************************************************************************/ - template template EIGEN_STRONG_INLINE Derived& DenseBase @@ -492,90 +27,62 @@ EIGEN_STRONG_INLINE Derived& DenseBase EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived) EIGEN_STATIC_ASSERT(SameType,YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) -#ifdef EIGEN_DEBUG_ASSIGN - internal::assign_traits::debug(); -#endif eigen_assert(rows() == other.rows() && cols() == other.cols()); - internal::assign_impl::Traversal) - : int(InvalidTraversal)>::run(derived(),other.derived()); -#ifndef EIGEN_NO_DEBUG - checkTransposeAliasing(other.derived()); -#endif + internal::call_assignment_no_alias(derived(),other.derived()); + return derived(); } -namespace internal { - -template::Flags) & EvalBeforeAssigningBit) != 0, - bool NeedToTranspose = ((int(Derived::RowsAtCompileTime) == 1 && int(OtherDerived::ColsAtCompileTime) == 1) - | // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&". - // revert to || as soon as not needed anymore. - (int(Derived::ColsAtCompileTime) == 1 && int(OtherDerived::RowsAtCompileTime) == 1)) - && int(Derived::SizeAtCompileTime) != 1> -struct assign_selector; - -template -struct assign_selector { - static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.derived()); } - template - static EIGEN_STRONG_INLINE Derived& evalTo(ActualDerived& dst, const ActualOtherDerived& other) { other.evalTo(dst); return dst; } -}; -template -struct assign_selector { - static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.eval()); } -}; -template -struct assign_selector { - static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.transpose()); } - template - static EIGEN_STRONG_INLINE Derived& evalTo(ActualDerived& dst, const ActualOtherDerived& other) { Transpose dstTrans(dst); other.evalTo(dstTrans); return dst; } -}; -template -struct assign_selector { - static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.transpose().eval()); } -}; - -} // end namespace internal - template template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase::operator=(const DenseBase& other) { - return internal::assign_selector::run(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase::operator=(const DenseBase& other) { - return internal::assign_selector::run(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const MatrixBase& other) { - return internal::assign_selector::run(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } template template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const DenseBase& other) { - return internal::assign_selector::run(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } template template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const EigenBase& other) { - return internal::assign_selector::evalTo(derived(), other.derived()); + internal::call_assignment(derived(), other.derived()); + return derived(); } template template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const ReturnByValue& other) { - return internal::assign_selector::evalTo(derived(), other.derived()); + other.derived().evalTo(derived()); + return derived(); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/AssignEvaluator.h b/nuparu/include/Eigen/src/Core/AssignEvaluator.h new file mode 100644 index 00000000..9dfffbcc --- /dev/null +++ b/nuparu/include/Eigen/src/Core/AssignEvaluator.h @@ -0,0 +1,810 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2011 Benoit Jacob +// Copyright (C) 2011-2014 Gael Guennebaud +// Copyright (C) 2011-2012 Jitse Niesen +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_ASSIGN_EVALUATOR_H +#define EIGEN_ASSIGN_EVALUATOR_H + +namespace Eigen { + +// This implementation is based on Assign.h + +namespace internal { + +/*************************************************************************** +* Part 1 : the logic deciding a strategy for traversal and unrolling * +***************************************************************************/ + +// copy_using_evaluator_traits is based on assign_traits + +template +struct copy_using_evaluator_traits +{ + typedef typename DstEvaluator::XprType Dst; + typedef typename Dst::Scalar DstScalar; + // TODO distinguish between linear traversal and inner-traversals + typedef typename find_best_packet::type PacketType; + + enum { + DstFlags = DstEvaluator::Flags, + SrcFlags = SrcEvaluator::Flags, + RequiredAlignment = unpacket_traits::alignment + }; + +public: + enum { + DstAlignment = DstEvaluator::Alignment, + SrcAlignment = SrcEvaluator::Alignment, + DstHasDirectAccess = DstFlags & DirectAccessBit, + JointAlignment = EIGEN_PLAIN_ENUM_MIN(DstAlignment,SrcAlignment) + }; + +private: + enum { + InnerSize = int(Dst::IsVectorAtCompileTime) ? int(Dst::SizeAtCompileTime) + : int(DstFlags)&RowMajorBit ? int(Dst::ColsAtCompileTime) + : int(Dst::RowsAtCompileTime), + InnerMaxSize = int(Dst::IsVectorAtCompileTime) ? int(Dst::MaxSizeAtCompileTime) + : int(DstFlags)&RowMajorBit ? int(Dst::MaxColsAtCompileTime) + : int(Dst::MaxRowsAtCompileTime), + OuterStride = int(outer_stride_at_compile_time::ret), + MaxSizeAtCompileTime = Dst::SizeAtCompileTime, + PacketSize = unpacket_traits::size + }; + + enum { + DstIsRowMajor = DstFlags&RowMajorBit, + SrcIsRowMajor = SrcFlags&RowMajorBit, + StorageOrdersAgree = (int(DstIsRowMajor) == int(SrcIsRowMajor)), + MightVectorize = StorageOrdersAgree + && (int(DstFlags) & int(SrcFlags) & ActualPacketAccessBit) + && (functor_traits::PacketAccess), + MayInnerVectorize = MightVectorize + && int(InnerSize)!=Dynamic && int(InnerSize)%int(PacketSize)==0 + && int(OuterStride)!=Dynamic && int(OuterStride)%int(PacketSize)==0 + && int(JointAlignment)>=int(RequiredAlignment), + MayLinearize = StorageOrdersAgree && (int(DstFlags) & int(SrcFlags) & LinearAccessBit), + MayLinearVectorize = MightVectorize && MayLinearize && DstHasDirectAccess + && ((int(DstAlignment)>=int(RequiredAlignment)) || MaxSizeAtCompileTime == Dynamic), + /* If the destination isn't aligned, we have to do runtime checks and we don't unroll, + so it's only good for large enough sizes. */ + MaySliceVectorize = MightVectorize && DstHasDirectAccess + && (int(InnerMaxSize)==Dynamic || int(InnerMaxSize)>=3*PacketSize) + /* slice vectorization can be slow, so we only want it if the slices are big, which is + indicated by InnerMaxSize rather than InnerSize, think of the case of a dynamic block + in a fixed-size matrix */ + }; + +public: + enum { + Traversal = int(MayInnerVectorize) ? int(InnerVectorizedTraversal) + : int(MayLinearVectorize) ? int(LinearVectorizedTraversal) + : int(MaySliceVectorize) ? int(SliceVectorizedTraversal) + : int(MayLinearize) ? int(LinearTraversal) + : int(DefaultTraversal), + Vectorized = int(Traversal) == InnerVectorizedTraversal + || int(Traversal) == LinearVectorizedTraversal + || int(Traversal) == SliceVectorizedTraversal + }; + +private: + enum { + UnrollingLimit = EIGEN_UNROLLING_LIMIT * (Vectorized ? int(PacketSize) : 1), + MayUnrollCompletely = int(Dst::SizeAtCompileTime) != Dynamic + && int(Dst::SizeAtCompileTime) * int(SrcEvaluator::CoeffReadCost) <= int(UnrollingLimit), + MayUnrollInner = int(InnerSize) != Dynamic + && int(InnerSize) * int(SrcEvaluator::CoeffReadCost) <= int(UnrollingLimit) + }; + +public: + enum { + Unrolling = (int(Traversal) == int(InnerVectorizedTraversal) || int(Traversal) == int(DefaultTraversal)) + ? ( + int(MayUnrollCompletely) ? int(CompleteUnrolling) + : int(MayUnrollInner) ? int(InnerUnrolling) + : int(NoUnrolling) + ) + : int(Traversal) == int(LinearVectorizedTraversal) + ? ( bool(MayUnrollCompletely) && (int(DstAlignment)>=int(RequiredAlignment)) ? int(CompleteUnrolling) + : int(NoUnrolling) ) + : int(Traversal) == int(LinearTraversal) + ? ( bool(MayUnrollCompletely) ? int(CompleteUnrolling) + : int(NoUnrolling) ) + : int(NoUnrolling) + }; + +#ifdef EIGEN_DEBUG_ASSIGN + static void debug() + { + std::cerr << "DstXpr: " << typeid(typename DstEvaluator::XprType).name() << std::endl; + std::cerr << "SrcXpr: " << typeid(typename SrcEvaluator::XprType).name() << std::endl; + std::cerr.setf(std::ios::hex, std::ios::basefield); + std::cerr << "DstFlags" << " = " << DstFlags << " (" << demangle_flags(DstFlags) << " )" << std::endl; + std::cerr << "SrcFlags" << " = " << SrcFlags << " (" << demangle_flags(SrcFlags) << " )" << std::endl; + std::cerr.unsetf(std::ios::hex); + EIGEN_DEBUG_VAR(DstAlignment) + EIGEN_DEBUG_VAR(SrcAlignment) + EIGEN_DEBUG_VAR(RequiredAlignment) + EIGEN_DEBUG_VAR(JointAlignment) + EIGEN_DEBUG_VAR(InnerSize) + EIGEN_DEBUG_VAR(InnerMaxSize) + EIGEN_DEBUG_VAR(PacketSize) + EIGEN_DEBUG_VAR(StorageOrdersAgree) + EIGEN_DEBUG_VAR(MightVectorize) + EIGEN_DEBUG_VAR(MayLinearize) + EIGEN_DEBUG_VAR(MayInnerVectorize) + EIGEN_DEBUG_VAR(MayLinearVectorize) + EIGEN_DEBUG_VAR(MaySliceVectorize) + std::cerr << "Traversal" << " = " << Traversal << " (" << demangle_traversal(Traversal) << ")" << std::endl; + EIGEN_DEBUG_VAR(UnrollingLimit) + EIGEN_DEBUG_VAR(MayUnrollCompletely) + EIGEN_DEBUG_VAR(MayUnrollInner) + std::cerr << "Unrolling" << " = " << Unrolling << " (" << demangle_unrolling(Unrolling) << ")" << std::endl; + std::cerr << std::endl; + } +#endif +}; + +/*************************************************************************** +* Part 2 : meta-unrollers +***************************************************************************/ + +/************************ +*** Default traversal *** +************************/ + +template +struct copy_using_evaluator_DefaultTraversal_CompleteUnrolling +{ + // FIXME: this is not very clean, perhaps this information should be provided by the kernel? + typedef typename Kernel::DstEvaluatorType DstEvaluatorType; + typedef typename DstEvaluatorType::XprType DstXprType; + + enum { + outer = Index / DstXprType::InnerSizeAtCompileTime, + inner = Index % DstXprType::InnerSizeAtCompileTime + }; + + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + kernel.assignCoeffByOuterInner(outer, inner); + copy_using_evaluator_DefaultTraversal_CompleteUnrolling::run(kernel); + } +}; + +template +struct copy_using_evaluator_DefaultTraversal_CompleteUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel&) { } +}; + +template +struct copy_using_evaluator_DefaultTraversal_InnerUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel, Index outer) + { + kernel.assignCoeffByOuterInner(outer, Index_); + copy_using_evaluator_DefaultTraversal_InnerUnrolling::run(kernel, outer); + } +}; + +template +struct copy_using_evaluator_DefaultTraversal_InnerUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel&, Index) { } +}; + +/*********************** +*** Linear traversal *** +***********************/ + +template +struct copy_using_evaluator_LinearTraversal_CompleteUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel& kernel) + { + kernel.assignCoeff(Index); + copy_using_evaluator_LinearTraversal_CompleteUnrolling::run(kernel); + } +}; + +template +struct copy_using_evaluator_LinearTraversal_CompleteUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel&) { } +}; + +/************************** +*** Inner vectorization *** +**************************/ + +template +struct copy_using_evaluator_innervec_CompleteUnrolling +{ + // FIXME: this is not very clean, perhaps this information should be provided by the kernel? + typedef typename Kernel::DstEvaluatorType DstEvaluatorType; + typedef typename DstEvaluatorType::XprType DstXprType; + typedef typename Kernel::PacketType PacketType; + + enum { + outer = Index / DstXprType::InnerSizeAtCompileTime, + inner = Index % DstXprType::InnerSizeAtCompileTime, + JointAlignment = Kernel::AssignmentTraits::JointAlignment + }; + + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + kernel.template assignPacketByOuterInner(outer, inner); + enum { NextIndex = Index + unpacket_traits::size }; + copy_using_evaluator_innervec_CompleteUnrolling::run(kernel); + } +}; + +template +struct copy_using_evaluator_innervec_CompleteUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel&) { } +}; + +template +struct copy_using_evaluator_innervec_InnerUnrolling +{ + typedef typename Kernel::PacketType PacketType; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel, Index outer) + { + kernel.template assignPacketByOuterInner(outer, Index_); + enum { NextIndex = Index_ + unpacket_traits::size }; + copy_using_evaluator_innervec_InnerUnrolling::run(kernel, outer); + } +}; + +template +struct copy_using_evaluator_innervec_InnerUnrolling +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &, Index) { } +}; + +/*************************************************************************** +* Part 3 : implementation of all cases +***************************************************************************/ + +// dense_assignment_loop is based on assign_impl + +template +struct dense_assignment_loop; + +/************************ +*** Default traversal *** +************************/ + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static void EIGEN_STRONG_INLINE run(Kernel &kernel) + { + for(Index outer = 0; outer < kernel.outerSize(); ++outer) { + for(Index inner = 0; inner < kernel.innerSize(); ++inner) { + kernel.assignCoeffByOuterInner(outer, inner); + } + } + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + copy_using_evaluator_DefaultTraversal_CompleteUnrolling::run(kernel); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + + const Index outerSize = kernel.outerSize(); + for(Index outer = 0; outer < outerSize; ++outer) + copy_using_evaluator_DefaultTraversal_InnerUnrolling::run(kernel, outer); + } +}; + +/*************************** +*** Linear vectorization *** +***************************/ + + +// The goal of unaligned_dense_assignment_loop is simply to factorize the handling +// of the non vectorizable beginning and ending parts + +template +struct unaligned_dense_assignment_loop +{ + // if IsAligned = true, then do nothing + template + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel&, Index, Index) {} +}; + +template <> +struct unaligned_dense_assignment_loop +{ + // MSVC must not inline this functions. If it does, it fails to optimize the + // packet access path. + // FIXME check which version exhibits this issue +#if EIGEN_COMP_MSVC + template + static EIGEN_DONT_INLINE void run(Kernel &kernel, + Index start, + Index end) +#else + template + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel, + Index start, + Index end) +#endif + { + for (Index index = start; index < end; ++index) + kernel.assignCoeff(index); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + const Index size = kernel.size(); + typedef typename Kernel::Scalar Scalar; + typedef typename Kernel::PacketType PacketType; + enum { + requestedAlignment = Kernel::AssignmentTraits::RequiredAlignment, + packetSize = unpacket_traits::size, + dstIsAligned = int(Kernel::AssignmentTraits::DstAlignment)>=int(requestedAlignment), + dstAlignment = packet_traits::AlignedOnScalar ? int(requestedAlignment) + : int(Kernel::AssignmentTraits::DstAlignment), + srcAlignment = Kernel::AssignmentTraits::JointAlignment + }; + const Index alignedStart = dstIsAligned ? 0 : internal::first_aligned(&kernel.dstEvaluator().coeffRef(0), size); + const Index alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize; + + unaligned_dense_assignment_loop::run(kernel, 0, alignedStart); + + for(Index index = alignedStart; index < alignedEnd; index += packetSize) + kernel.template assignPacket(index); + + unaligned_dense_assignment_loop<>::run(kernel, alignedEnd, size); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + + enum { size = DstXprType::SizeAtCompileTime, + packetSize = packet_traits::size, + alignedSize = (size/packetSize)*packetSize }; + + copy_using_evaluator_innervec_CompleteUnrolling::run(kernel); + copy_using_evaluator_DefaultTraversal_CompleteUnrolling::run(kernel); + } +}; + +/************************** +*** Inner vectorization *** +**************************/ + +template +struct dense_assignment_loop +{ + typedef typename Kernel::PacketType PacketType; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + const Index innerSize = kernel.innerSize(); + const Index outerSize = kernel.outerSize(); + const Index packetSize = unpacket_traits::size; + for(Index outer = 0; outer < outerSize; ++outer) + for(Index inner = 0; inner < innerSize; inner+=packetSize) + kernel.template assignPacketByOuterInner(outer, inner); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + copy_using_evaluator_innervec_CompleteUnrolling::run(kernel); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + const Index outerSize = kernel.outerSize(); + for(Index outer = 0; outer < outerSize; ++outer) + copy_using_evaluator_innervec_InnerUnrolling::run(kernel, outer); + } +}; + +/*********************** +*** Linear traversal *** +***********************/ + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + const Index size = kernel.size(); + for(Index i = 0; i < size; ++i) + kernel.assignCoeff(i); + } +}; + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(Kernel &kernel) + { + typedef typename Kernel::DstEvaluatorType::XprType DstXprType; + copy_using_evaluator_LinearTraversal_CompleteUnrolling::run(kernel); + } +}; + +/************************** +*** Slice vectorization *** +***************************/ + +template +struct dense_assignment_loop +{ + EIGEN_DEVICE_FUNC static inline void run(Kernel &kernel) + { + typedef typename Kernel::Scalar Scalar; + typedef typename Kernel::PacketType PacketType; + enum { + packetSize = unpacket_traits::size, + requestedAlignment = int(Kernel::AssignmentTraits::RequiredAlignment), + alignable = packet_traits::AlignedOnScalar || int(Kernel::AssignmentTraits::DstAlignment)>=sizeof(Scalar), + dstIsAligned = int(Kernel::AssignmentTraits::DstAlignment)>=int(requestedAlignment), + dstAlignment = alignable ? int(requestedAlignment) + : int(Kernel::AssignmentTraits::DstAlignment) + }; + const Scalar *dst_ptr = &kernel.dstEvaluator().coeffRef(0,0); + if((!bool(dstIsAligned)) && (size_t(dst_ptr) % sizeof(Scalar))>0) + { + // the pointer is not aligend-on scalar, so alignment is not possible + return dense_assignment_loop::run(kernel); + } + const Index packetAlignedMask = packetSize - 1; + const Index innerSize = kernel.innerSize(); + const Index outerSize = kernel.outerSize(); + const Index alignedStep = alignable ? (packetSize - kernel.outerStride() % packetSize) & packetAlignedMask : 0; + Index alignedStart = ((!alignable) || bool(dstIsAligned)) ? 0 : internal::first_aligned(dst_ptr, innerSize); + + for(Index outer = 0; outer < outerSize; ++outer) + { + const Index alignedEnd = alignedStart + ((innerSize-alignedStart) & ~packetAlignedMask); + // do the non-vectorizable part of the assignment + for(Index inner = 0; inner(outer, inner); + + // do the non-vectorizable part of the assignment + for(Index inner = alignedEnd; inner((alignedStart+alignedStep)%packetSize, innerSize); + } + } +}; + +/*************************************************************************** +* Part 4 : Generic dense assignment kernel +***************************************************************************/ + +// This class generalize the assignment of a coefficient (or packet) from one dense evaluator +// to another dense writable evaluator. +// It is parametrized by the two evaluators, and the actual assignment functor. +// This abstraction level permits to keep the evaluation loops as simple and as generic as possible. +// One can customize the assignment using this generic dense_assignment_kernel with different +// functors, or by completely overloading it, by-passing a functor. +template +class generic_dense_assignment_kernel +{ +protected: + typedef typename DstEvaluatorTypeT::XprType DstXprType; + typedef typename SrcEvaluatorTypeT::XprType SrcXprType; +public: + + typedef DstEvaluatorTypeT DstEvaluatorType; + typedef SrcEvaluatorTypeT SrcEvaluatorType; + typedef typename DstEvaluatorType::Scalar Scalar; + typedef copy_using_evaluator_traits AssignmentTraits; + typedef typename AssignmentTraits::PacketType PacketType; + + + EIGEN_DEVICE_FUNC generic_dense_assignment_kernel(DstEvaluatorType &dst, const SrcEvaluatorType &src, const Functor &func, DstXprType& dstExpr) + : m_dst(dst), m_src(src), m_functor(func), m_dstExpr(dstExpr) + { + #ifdef EIGEN_DEBUG_ASSIGN + AssignmentTraits::debug(); + #endif + } + + EIGEN_DEVICE_FUNC Index size() const { return m_dstExpr.size(); } + EIGEN_DEVICE_FUNC Index innerSize() const { return m_dstExpr.innerSize(); } + EIGEN_DEVICE_FUNC Index outerSize() const { return m_dstExpr.outerSize(); } + EIGEN_DEVICE_FUNC Index rows() const { return m_dstExpr.rows(); } + EIGEN_DEVICE_FUNC Index cols() const { return m_dstExpr.cols(); } + EIGEN_DEVICE_FUNC Index outerStride() const { return m_dstExpr.outerStride(); } + + EIGEN_DEVICE_FUNC DstEvaluatorType& dstEvaluator() { return m_dst; } + EIGEN_DEVICE_FUNC const SrcEvaluatorType& srcEvaluator() const { return m_src; } + + /// Assign src(row,col) to dst(row,col) through the assignment functor. + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index row, Index col) + { + m_functor.assignCoeff(m_dst.coeffRef(row,col), m_src.coeff(row,col)); + } + + /// \sa assignCoeff(Index,Index) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index index) + { + m_functor.assignCoeff(m_dst.coeffRef(index), m_src.coeff(index)); + } + + /// \sa assignCoeff(Index,Index) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeffByOuterInner(Index outer, Index inner) + { + Index row = rowIndexByOuterInner(outer, inner); + Index col = colIndexByOuterInner(outer, inner); + assignCoeff(row, col); + } + + + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket(Index row, Index col) + { + m_functor.template assignPacket(&m_dst.coeffRef(row,col), m_src.template packet(row,col)); + } + + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket(Index index) + { + m_functor.template assignPacket(&m_dst.coeffRef(index), m_src.template packet(index)); + } + + template + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacketByOuterInner(Index outer, Index inner) + { + Index row = rowIndexByOuterInner(outer, inner); + Index col = colIndexByOuterInner(outer, inner); + assignPacket(row, col); + } + + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner) + { + typedef typename DstEvaluatorType::ExpressionTraits Traits; + return int(Traits::RowsAtCompileTime) == 1 ? 0 + : int(Traits::ColsAtCompileTime) == 1 ? inner + : int(DstEvaluatorType::Flags)&RowMajorBit ? outer + : inner; + } + + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner) + { + typedef typename DstEvaluatorType::ExpressionTraits Traits; + return int(Traits::ColsAtCompileTime) == 1 ? 0 + : int(Traits::RowsAtCompileTime) == 1 ? inner + : int(DstEvaluatorType::Flags)&RowMajorBit ? inner + : outer; + } + +protected: + DstEvaluatorType& m_dst; + const SrcEvaluatorType& m_src; + const Functor &m_functor; + // TODO find a way to avoid the needs of the original expression + DstXprType& m_dstExpr; +}; + +/*************************************************************************** +* Part 5 : Entry point for dense rectangular assignment +***************************************************************************/ + +template +EIGEN_DEVICE_FUNC void call_dense_assignment_loop(const DstXprType& dst, const SrcXprType& src, const Functor &func) +{ + eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); + + typedef evaluator DstEvaluatorType; + typedef evaluator SrcEvaluatorType; + + DstEvaluatorType dstEvaluator(dst); + SrcEvaluatorType srcEvaluator(src); + + typedef generic_dense_assignment_kernel Kernel; + Kernel kernel(dstEvaluator, srcEvaluator, func, dst.const_cast_derived()); + + dense_assignment_loop::run(kernel); +} + +template +EIGEN_DEVICE_FUNC void call_dense_assignment_loop(const DstXprType& dst, const SrcXprType& src) +{ + call_dense_assignment_loop(dst, src, internal::assign_op()); +} + +/*************************************************************************** +* Part 6 : Generic assignment +***************************************************************************/ + +// Based on the respective shapes of the destination and source, +// the class AssignmentKind determine the kind of assignment mechanism. +// AssignmentKind must define a Kind typedef. +template struct AssignmentKind; + +// Assignement kind defined in this file: +struct Dense2Dense {}; +struct EigenBase2EigenBase {}; + +template struct AssignmentKind { typedef EigenBase2EigenBase Kind; }; +template<> struct AssignmentKind { typedef Dense2Dense Kind; }; + +// This is the main assignment class +template< typename DstXprType, typename SrcXprType, typename Functor, + typename Kind = typename AssignmentKind< typename evaluator_traits::Shape , typename evaluator_traits::Shape >::Kind, + typename Scalar = typename DstXprType::Scalar> +struct Assignment; + + +// The only purpose of this call_assignment() function is to deal with noalias() / AssumeAliasing and automatic transposition. +// Indeed, I (Gael) think that this concept of AssumeAliasing was a mistake, and it makes thing quite complicated. +// So this intermediate function removes everything related to AssumeAliasing such that Assignment +// does not has to bother about these annoying details. + +template +EIGEN_DEVICE_FUNC void call_assignment(Dst& dst, const Src& src) +{ + call_assignment(dst, src, internal::assign_op()); +} +template +EIGEN_DEVICE_FUNC void call_assignment(const Dst& dst, const Src& src) +{ + call_assignment(dst, src, internal::assign_op()); +} + +// Deal with AssumeAliasing +template +EIGEN_DEVICE_FUNC void call_assignment(Dst& dst, const Src& src, const Func& func, typename enable_if::AssumeAliasing==1, void*>::type = 0) +{ + typename plain_matrix_type::type tmp(src); + call_assignment_no_alias(dst, tmp, func); +} + +template +EIGEN_DEVICE_FUNC void call_assignment(Dst& dst, const Src& src, const Func& func, typename enable_if::AssumeAliasing==0, void*>::type = 0) +{ + call_assignment_no_alias(dst, src, func); +} + +// by-pass AssumeAliasing +// When there is no aliasing, we require that 'dst' has been properly resized +template class StorageBase, typename Src, typename Func> +EIGEN_DEVICE_FUNC void call_assignment(NoAlias& dst, const Src& src, const Func& func) +{ + call_assignment_no_alias(dst.expression(), src, func); +} + + +template +EIGEN_DEVICE_FUNC void call_assignment_no_alias(Dst& dst, const Src& src, const Func& func) +{ + enum { + NeedToTranspose = ( (int(Dst::RowsAtCompileTime) == 1 && int(Src::ColsAtCompileTime) == 1) + || (int(Dst::ColsAtCompileTime) == 1 && int(Src::RowsAtCompileTime) == 1) + ) && int(Dst::SizeAtCompileTime) != 1 + }; + + Index dstRows = NeedToTranspose ? src.cols() : src.rows(); + Index dstCols = NeedToTranspose ? src.rows() : src.cols(); + if((dst.rows()!=dstRows) || (dst.cols()!=dstCols)) + dst.resize(dstRows, dstCols); + + typedef typename internal::conditional, Dst>::type ActualDstTypeCleaned; + typedef typename internal::conditional, Dst&>::type ActualDstType; + ActualDstType actualDst(dst); + + // TODO check whether this is the right place to perform these checks: + EIGEN_STATIC_ASSERT_LVALUE(Dst) + EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src) + EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar); + + Assignment::run(actualDst, src, func); +} +template +EIGEN_DEVICE_FUNC void call_assignment_no_alias(Dst& dst, const Src& src) +{ + call_assignment_no_alias(dst, src, internal::assign_op()); +} + +template +EIGEN_DEVICE_FUNC void call_assignment_no_alias_no_transpose(Dst& dst, const Src& src, const Func& func) +{ + Index dstRows = src.rows(); + Index dstCols = src.cols(); + if((dst.rows()!=dstRows) || (dst.cols()!=dstCols)) + dst.resize(dstRows, dstCols); + + // TODO check whether this is the right place to perform these checks: + EIGEN_STATIC_ASSERT_LVALUE(Dst) + EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Dst,Src) + + Assignment::run(dst, src, func); +} +template +EIGEN_DEVICE_FUNC void call_assignment_no_alias_no_transpose(Dst& dst, const Src& src) +{ + call_assignment_no_alias_no_transpose(dst, src, internal::assign_op()); +} + +// forward declaration +template void check_for_aliasing(const Dst &dst, const Src &src); + +// Generic Dense to Dense assignment +template< typename DstXprType, typename SrcXprType, typename Functor, typename Scalar> +struct Assignment +{ + EIGEN_DEVICE_FUNC static void run(DstXprType &dst, const SrcXprType &src, const Functor &func) + { + eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); + +#ifndef EIGEN_NO_DEBUG + internal::check_for_aliasing(dst, src); +#endif + + call_dense_assignment_loop(dst, src, func); + } +}; + +// Generic assignment through evalTo. +// TODO: not sure we have to keep that one, but it helps porting current code to new evaluator mechanism. +template< typename DstXprType, typename SrcXprType, typename Functor, typename Scalar> +struct Assignment +{ + EIGEN_DEVICE_FUNC static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &/*func*/) + { + eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); + src.evalTo(dst); + } +}; + +} // namespace internal + +} // end namespace Eigen + +#endif // EIGEN_ASSIGN_EVALUATOR_H diff --git a/nuparu/include/Eigen/src/Core/Assign_MKL.h b/nuparu/include/Eigen/src/Core/Assign_MKL.h index 7772951b..897187a3 100644 --- a/nuparu/include/Eigen/src/Core/Assign_MKL.h +++ b/nuparu/include/Eigen/src/Core/Assign_MKL.h @@ -1,6 +1,7 @@ /* Copyright (c) 2011, Intel Corporation. All rights reserved. - + Copyright (C) 2015 Gael Guennebaud + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -37,17 +38,13 @@ namespace Eigen { namespace internal { -template struct vml_call -{ enum { IsSupported = 0 }; }; - -template +template class vml_assign_traits { private: enum { DstHasDirectAccess = Dst::Flags & DirectAccessBit, SrcHasDirectAccess = Src::Flags & DirectAccessBit, - StorageOrdersAgree = (int(Dst::IsRowMajor) == int(Src::IsRowMajor)), InnerSize = int(Dst::IsVectorAtCompileTime) ? int(Dst::SizeAtCompileTime) : int(Dst::Flags)&RowMajorBit ? int(Dst::ColsAtCompileTime) @@ -57,165 +54,118 @@ class vml_assign_traits : int(Dst::MaxRowsAtCompileTime), MaxSizeAtCompileTime = Dst::SizeAtCompileTime, - MightEnableVml = vml_call::IsSupported && StorageOrdersAgree && DstHasDirectAccess && SrcHasDirectAccess - && Src::InnerStrideAtCompileTime==1 && Dst::InnerStrideAtCompileTime==1, + MightEnableVml = StorageOrdersAgree && DstHasDirectAccess && SrcHasDirectAccess && Src::InnerStrideAtCompileTime==1 && Dst::InnerStrideAtCompileTime==1, MightLinearize = MightEnableVml && (int(Dst::Flags) & int(Src::Flags) & LinearAccessBit), VmlSize = MightLinearize ? MaxSizeAtCompileTime : InnerMaxSize, - LargeEnough = VmlSize==Dynamic || VmlSize>=EIGEN_MKL_VML_THRESHOLD, - MayEnableVml = MightEnableVml && LargeEnough, - MayLinearize = MayEnableVml && MightLinearize + LargeEnough = VmlSize==Dynamic || VmlSize>=EIGEN_MKL_VML_THRESHOLD }; public: enum { - Traversal = MayLinearize ? LinearVectorizedTraversal - : MayEnableVml ? InnerVectorizedTraversal - : DefaultTraversal + EnableVml = MightEnableVml && LargeEnough, + Traversal = MightLinearize ? LinearTraversal : DefaultTraversal }; }; -template::Traversal > -struct vml_assign_impl - : assign_impl,Traversal,Unrolling,BuiltIn> -{ -}; - -template -struct vml_assign_impl -{ - typedef typename Derived1::Scalar Scalar; - typedef typename Derived1::Index Index; - static inline void run(Derived1& dst, const CwiseUnaryOp& src) - { - // in case we want to (or have to) skip VML at runtime we can call: - // assign_impl,Traversal,Unrolling,BuiltIn>::run(dst,src); - const Index innerSize = dst.innerSize(); - const Index outerSize = dst.outerSize(); - for(Index outer = 0; outer < outerSize; ++outer) { - const Scalar *src_ptr = src.IsRowMajor ? &(src.nestedExpression().coeffRef(outer,0)) : - &(src.nestedExpression().coeffRef(0, outer)); - Scalar *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer)); - vml_call::run(src.functor(), innerSize, src_ptr, dst_ptr ); - } - } -}; - -template -struct vml_assign_impl -{ - static inline void run(Derived1& dst, const CwiseUnaryOp& src) - { - // in case we want to (or have to) skip VML at runtime we can call: - // assign_impl,Traversal,Unrolling,BuiltIn>::run(dst,src); - vml_call::run(src.functor(), dst.size(), src.nestedExpression().data(), dst.data() ); - } -}; - -// Macroses - -#define EIGEN_MKL_VML_SPECIALIZE_ASSIGN(TRAVERSAL,UNROLLING) \ - template \ - struct assign_impl, TRAVERSAL, UNROLLING, Specialized> { \ - static inline void run(Derived1 &dst, const Eigen::CwiseUnaryOp &src) { \ - vml_assign_impl::run(dst, src); \ - } \ - }; - -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,NoUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,CompleteUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,InnerUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearTraversal,NoUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearTraversal,CompleteUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,NoUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,CompleteUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,InnerUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearVectorizedTraversal,CompleteUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearVectorizedTraversal,NoUnrolling) -EIGEN_MKL_VML_SPECIALIZE_ASSIGN(SliceVectorizedTraversal,NoUnrolling) - - +#define EIGEN_PP_EXPAND(ARG) ARG #if !defined (EIGEN_FAST_MATH) || (EIGEN_FAST_MATH != 1) -#define EIGEN_MKL_VML_MODE VML_HA +#define EIGEN_VMLMODE_EXPAND_LA , VML_HA #else -#define EIGEN_MKL_VML_MODE VML_LA +#define EIGEN_VMLMODE_EXPAND_LA , VML_LA #endif -#define EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE) \ - template<> struct vml_call< scalar_##EIGENOP##_op > { \ - enum { IsSupported = 1 }; \ - static inline void run( const scalar_##EIGENOP##_op& /*func*/, \ - int size, const EIGENTYPE* src, EIGENTYPE* dst) { \ - VMLOP(size, (const VMLTYPE*)src, (VMLTYPE*)dst); \ - } \ +#define EIGEN_VMLMODE_EXPAND__ + +#define EIGEN_VMLMODE_PREFIX_LA vm +#define EIGEN_VMLMODE_PREFIX__ v +#define EIGEN_VMLMODE_PREFIX(VMLMODE) EIGEN_CAT(EIGEN_VMLMODE_PREFIX_,VMLMODE) + +#define EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE, VMLMODE) \ + template< typename DstXprType, typename SrcXprNested> \ + struct Assignment, SrcXprNested>, assign_op, \ + Dense2Dense, typename enable_if::EnableVml,EIGENTYPE>::type> { \ + typedef CwiseUnaryOp, SrcXprNested> SrcXprType; \ + static void run(DstXprType &dst, const SrcXprType &src, const assign_op &/*func*/) { \ + eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ + if(vml_assign_traits::Traversal==LinearTraversal) { \ + VMLOP(dst.size(), (const VMLTYPE*)src.nestedExpression().data(), \ + (VMLTYPE*)dst.data() EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE) ); \ + } else { \ + const Index outerSize = dst.outerSize(); \ + for(Index outer = 0; outer < outerSize; ++outer) { \ + const EIGENTYPE *src_ptr = src.IsRowMajor ? &(src.nestedExpression().coeffRef(outer,0)) : \ + &(src.nestedExpression().coeffRef(0, outer)); \ + EIGENTYPE *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer)); \ + VMLOP( dst.innerSize(), (const VMLTYPE*)src_ptr, \ + (VMLTYPE*)dst_ptr EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE)); \ + } \ + } \ + } \ + }; \ + + +#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),s##VMLOP), float, float, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),d##VMLOP), double, double, VMLMODE) + +#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX(EIGENOP, VMLOP, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),c##VMLOP), scomplex, MKL_Complex8, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, EIGEN_CAT(EIGEN_VMLMODE_PREFIX(VMLMODE),z##VMLOP), dcomplex, MKL_Complex16, VMLMODE) + +#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS(EIGENOP, VMLOP, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP, VMLMODE) \ + EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX(EIGENOP, VMLOP, VMLMODE) + + +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(sin, Sin, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(asin, Asin, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(sinh, Sinh, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(cos, Cos, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(acos, Acos, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(cosh, Cosh, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(tan, Tan, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(atan, Atan, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(tanh, Tanh, LA) +// EIGEN_MKL_VML_DECLARE_UNARY_CALLS(abs, Abs, _) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(exp, Exp, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(log, Ln, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(log10, Log10, LA) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS(sqrt, Sqrt, _) + +EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(square, Sqr, _) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS_CPLX(arg, Arg, _) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(round, Round, _) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(floor, Floor, _) +EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(ceil, Ceil, _) + +#define EIGEN_MKL_VML_DECLARE_POW_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE, VMLMODE) \ + template< typename DstXprType, typename SrcXprNested> \ + struct Assignment, SrcXprNested>, assign_op, \ + Dense2Dense, typename enable_if::EnableVml,EIGENTYPE>::type> { \ + typedef CwiseUnaryOp, SrcXprNested> SrcXprType; \ + static void run(DstXprType &dst, const SrcXprType &src, const assign_op &/*func*/) { \ + eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ + VMLTYPE exponent = reinterpret_cast(src.functor().m_exponent); \ + if(vml_assign_traits::Traversal==LinearTraversal) \ + { \ + VMLOP( dst.size(), (const VMLTYPE*)src.nestedExpression().data(), exponent, \ + (VMLTYPE*)dst.data() EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE) ); \ + } else { \ + const Index outerSize = dst.outerSize(); \ + for(Index outer = 0; outer < outerSize; ++outer) { \ + const EIGENTYPE *src_ptr = src.IsRowMajor ? &(src.nestedExpression().coeffRef(outer,0)) : \ + &(src.nestedExpression().coeffRef(0, outer)); \ + EIGENTYPE *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer)); \ + VMLOP( dst.innerSize(), (const VMLTYPE*)src_ptr, exponent, \ + (VMLTYPE*)dst_ptr EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_##VMLMODE)); \ + } \ + } \ + } \ }; - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE) \ - template<> struct vml_call< scalar_##EIGENOP##_op > { \ - enum { IsSupported = 1 }; \ - static inline void run( const scalar_##EIGENOP##_op& /*func*/, \ - int size, const EIGENTYPE* src, EIGENTYPE* dst) { \ - MKL_INT64 vmlMode = EIGEN_MKL_VML_MODE; \ - VMLOP(size, (const VMLTYPE*)src, (VMLTYPE*)dst, vmlMode); \ - } \ - }; - -#define EIGEN_MKL_VML_DECLARE_POW_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE) \ - template<> struct vml_call< scalar_##EIGENOP##_op > { \ - enum { IsSupported = 1 }; \ - static inline void run( const scalar_##EIGENOP##_op& func, \ - int size, const EIGENTYPE* src, EIGENTYPE* dst) { \ - EIGENTYPE exponent = func.m_exponent; \ - MKL_INT64 vmlMode = EIGEN_MKL_VML_MODE; \ - VMLOP(&size, (const VMLTYPE*)src, (const VMLTYPE*)&exponent, \ - (VMLTYPE*)dst, &vmlMode); \ - } \ - }; - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vs##VMLOP, float, float) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vd##VMLOP, double, double) - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vc##VMLOP, scomplex, MKL_Complex8) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vz##VMLOP, dcomplex, MKL_Complex16) - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX(EIGENOP, VMLOP) - - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL_LA(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vms##VMLOP, float, float) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmd##VMLOP, double, double) - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX_LA(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmc##VMLOP, scomplex, MKL_Complex8) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmz##VMLOP, dcomplex, MKL_Complex16) - -#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL_LA(EIGENOP, VMLOP) \ - EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX_LA(EIGENOP, VMLOP) - - -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(sin, Sin) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(asin, Asin) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(cos, Cos) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(acos, Acos) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(tan, Tan) -//EIGEN_MKL_VML_DECLARE_UNARY_CALLS(abs, Abs) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(exp, Exp) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(log, Ln) -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(sqrt, Sqrt) - -EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(square, Sqr) - -// The vm*powx functions are not avaibale in the windows version of MKL. -#ifndef _WIN32 -EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmspowx_, float, float) -EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmdpowx_, double, double) -EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmcpowx_, scomplex, MKL_Complex8) -EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmzpowx_, dcomplex, MKL_Complex16) -#endif + +EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmsPowx, float, float, LA) +EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmdPowx, double, double, LA) +EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmcPowx, scomplex, MKL_Complex8, LA) +EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmzPowx, dcomplex, MKL_Complex16, LA) } // end namespace internal diff --git a/nuparu/include/Eigen/src/Core/BandMatrix.h b/nuparu/include/Eigen/src/Core/BandMatrix.h index ffd7fe8b..87c124fd 100644 --- a/nuparu/include/Eigen/src/Core/BandMatrix.h +++ b/nuparu/include/Eigen/src/Core/BandMatrix.h @@ -32,7 +32,7 @@ class BandMatrixBase : public EigenBase }; typedef typename internal::traits::Scalar Scalar; typedef Matrix DenseMatrixType; - typedef typename DenseMatrixType::Index Index; + typedef typename DenseMatrixType::StorageIndex StorageIndex; typedef typename internal::traits::CoefficientsType CoefficientsType; typedef EigenBase Base; @@ -179,7 +179,7 @@ struct traits > { typedef _Scalar Scalar; typedef Dense StorageKind; - typedef DenseIndex Index; + typedef Eigen::Index StorageIndex; enum { CoeffReadCost = NumTraits::ReadCost, RowsAtCompileTime = _Rows, @@ -201,10 +201,10 @@ class BandMatrix : public BandMatrixBase::Scalar Scalar; - typedef typename internal::traits::Index Index; + typedef typename internal::traits::StorageIndex StorageIndex; typedef typename internal::traits::CoefficientsType CoefficientsType; - inline BandMatrix(Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs) + explicit inline BandMatrix(Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs) : m_coeffs(1+supers+subs,cols), m_rows(rows), m_supers(supers), m_subs(subs) { @@ -241,7 +241,7 @@ struct traits::CoeffReadCost, RowsAtCompileTime = _Rows, @@ -264,9 +264,9 @@ class BandMatrixWrapper : public BandMatrixBase::Scalar Scalar; typedef typename internal::traits::CoefficientsType CoefficientsType; - typedef typename internal::traits::Index Index; + typedef typename internal::traits::StorageIndex StorageIndex; - inline BandMatrixWrapper(const CoefficientsType& coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs) + explicit inline BandMatrixWrapper(const CoefficientsType& coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs) : m_coeffs(coeffs), m_rows(rows), m_supers(supers), m_subs(subs) { @@ -312,9 +312,9 @@ template class TridiagonalMatrix : public BandMatrix { typedef BandMatrix Base; - typedef typename Base::Index Index; + typedef typename Base::StorageIndex StorageIndex; public: - TridiagonalMatrix(Index size = Size) : Base(size,size,Options&SelfAdjoint?0:1,1) {} + explicit TridiagonalMatrix(Index size = Size) : Base(size,size,Options&SelfAdjoint?0:1,1) {} inline typename Base::template DiagonalIntReturnType<1>::Type super() { return Base::template diagonal<1>(); } @@ -327,6 +327,25 @@ class TridiagonalMatrix : public BandMatrix +struct evaluator_traits > + : public evaluator_traits_base > +{ + typedef BandShape Shape; +}; + +template +struct evaluator_traits > + : public evaluator_traits_base > +{ + typedef BandShape Shape; +}; + +template<> struct AssignmentKind { typedef EigenBase2EigenBase Kind; }; + } // end namespace internal } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/Block.h b/nuparu/include/Eigen/src/Core/Block.h index 358b3188..3748e259 100644 --- a/nuparu/include/Eigen/src/Core/Block.h +++ b/nuparu/include/Eigen/src/Core/Block.h @@ -21,6 +21,9 @@ namespace Eigen { * \param XprType the type of the expression in which we are taking a block * \param BlockRows the number of rows of the block we are taking at compile time (optional) * \param BlockCols the number of columns of the block we are taking at compile time (optional) + * \param InnerPanel is true, if the block maps to a set of rows of a row major matrix or + * to set of columns of a column major matrix (optional). The parameter allows to determine + * at compile time whether aligned access is possible on the block expression. * * This class represents an expression of either a fixed-size or dynamic-size block. It is the return * type of DenseBase::block(Index,Index,Index,Index) and DenseBase::block(Index,Index) and @@ -52,7 +55,7 @@ struct traits > : traits::Scalar Scalar; typedef typename traits::StorageKind StorageKind; typedef typename traits::XprKind XprKind; - typedef typename nested::type XprTypeNested; + typedef typename ref_selector::type XprTypeNested; typedef typename remove_reference::type _XprTypeNested; enum{ MatrixRows = traits::RowsAtCompileTime, @@ -65,6 +68,7 @@ struct traits > : traits::MaxColsAtCompileTime), + XprTypeIsRowMajor = (int(traits::Flags)&RowMajorBit) != 0, IsRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1 : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0 @@ -77,18 +81,16 @@ struct traits > : traits::ret) : int(inner_stride_at_compile_time::ret), - MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits::size) == 0) - && (InnerStrideAtCompileTime == 1) - ? PacketAccessBit : 0, - MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % 16) == 0)) ? AlignedBit : 0, - FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1) ? LinearAccessBit : 0, + + // FIXME, this traits is rather specialized for dense object and it needs to be cleaned further FlagsLvalueBit = is_lvalue::value ? LvalueBit : 0, FlagsRowMajorBit = IsRowMajor ? RowMajorBit : 0, - Flags0 = traits::Flags & ( (HereditaryBits & ~RowMajorBit) | - DirectAccessBit | - MaskPacketAccessBit | - MaskAlignedBit), - Flags = Flags0 | FlagsLinearAccessBit | FlagsLvalueBit | FlagsRowMajorBit + Flags = (traits::Flags & (DirectAccessBit | (InnerPanel?CompressedAccessBit:0))) | FlagsLvalueBit | FlagsRowMajorBit, + // FIXME DirectAccessBit should not be handled by expressions + // + // Alignment is needed by MapBase's assertions + // We can sefely set it to false here. Internal alignment errors will be detected by an eigen_internal_assert in the respective evaluator + Alignment = 0 }; }; @@ -108,9 +110,12 @@ template class typedef Impl Base; EIGEN_GENERIC_PUBLIC_INTERFACE(Block) EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Block) + + typedef typename internal::remove_all::type NestedExpression; /** Column or Row constructor */ + EIGEN_DEVICE_FUNC inline Block(XprType& xpr, Index i) : Impl(xpr,i) { eigen_assert( (i>=0) && ( @@ -120,25 +125,27 @@ template class /** Fixed-size constructor */ - inline Block(XprType& xpr, Index a_startRow, Index a_startCol) - : Impl(xpr, a_startRow, a_startCol) + EIGEN_DEVICE_FUNC + inline Block(XprType& xpr, Index startRow, Index startCol) + : Impl(xpr, startRow, startCol) { EIGEN_STATIC_ASSERT(RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic,THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE) - eigen_assert(a_startRow >= 0 && BlockRows >= 1 && a_startRow + BlockRows <= xpr.rows() - && a_startCol >= 0 && BlockCols >= 1 && a_startCol + BlockCols <= xpr.cols()); + eigen_assert(startRow >= 0 && BlockRows >= 1 && startRow + BlockRows <= xpr.rows() + && startCol >= 0 && BlockCols >= 1 && startCol + BlockCols <= xpr.cols()); } /** Dynamic-size constructor */ + EIGEN_DEVICE_FUNC inline Block(XprType& xpr, - Index a_startRow, Index a_startCol, + Index startRow, Index startCol, Index blockRows, Index blockCols) - : Impl(xpr, a_startRow, a_startCol, blockRows, blockCols) + : Impl(xpr, startRow, startCol, blockRows, blockCols) { eigen_assert((RowsAtCompileTime==Dynamic || RowsAtCompileTime==blockRows) && (ColsAtCompileTime==Dynamic || ColsAtCompileTime==blockCols)); - eigen_assert(a_startRow >= 0 && blockRows >= 0 && a_startRow <= xpr.rows() - blockRows - && a_startCol >= 0 && blockCols >= 0 && a_startCol <= xpr.cols() - blockCols); + eigen_assert(startRow >= 0 && blockRows >= 0 && startRow <= xpr.rows() - blockRows + && startCol >= 0 && blockCols >= 0 && startCol <= xpr.cols() - blockCols); } }; @@ -149,14 +156,15 @@ class BlockImpl : public internal::BlockImpl_dense { typedef internal::BlockImpl_dense Impl; - typedef typename XprType::Index Index; + typedef typename XprType::StorageIndex StorageIndex; public: typedef Impl Base; EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl) - inline BlockImpl(XprType& xpr, Index i) : Impl(xpr,i) {} - inline BlockImpl(XprType& xpr, Index a_startRow, Index a_startCol) : Impl(xpr, a_startRow, a_startCol) {} - inline BlockImpl(XprType& xpr, Index a_startRow, Index a_startCol, Index blockRows, Index blockCols) - : Impl(xpr, a_startRow, a_startCol, blockRows, blockCols) {} + EIGEN_DEVICE_FUNC inline BlockImpl(XprType& xpr, Index i) : Impl(xpr,i) {} + EIGEN_DEVICE_FUNC inline BlockImpl(XprType& xpr, Index startRow, Index startCol) : Impl(xpr, startRow, startCol) {} + EIGEN_DEVICE_FUNC + inline BlockImpl(XprType& xpr, Index startRow, Index startCol, Index blockRows, Index blockCols) + : Impl(xpr, startRow, startCol, blockRows, blockCols) {} }; namespace internal { @@ -172,10 +180,11 @@ template::type& nestedExpression() const + EIGEN_DEVICE_FUNC + const typename internal::remove_all::type& nestedExpression() const { return m_xpr; } - Index startRow() const + EIGEN_DEVICE_FUNC + StorageIndex startRow() const { return m_startRow.value(); } - Index startCol() const + EIGEN_DEVICE_FUNC + StorageIndex startCol() const { return m_startCol.value(); } @@ -302,10 +322,10 @@ template m_startRow; - const internal::variable_if_dynamic m_startCol; - const internal::variable_if_dynamic m_blockRows; - const internal::variable_if_dynamic m_blockCols; + const internal::variable_if_dynamic m_startRow; + const internal::variable_if_dynamic m_startCol; + const internal::variable_if_dynamic m_blockRows; + const internal::variable_if_dynamic m_blockCols; }; /** \internal Internal implementation of dense Blocks in the direct access case.*/ @@ -314,6 +334,9 @@ class BlockImpl_dense : public MapBase > { typedef Block BlockType; + enum { + XprTypeIsRowMajor = (int(traits::Flags)&RowMajorBit) != 0 + }; public: typedef MapBase Base; @@ -322,10 +345,10 @@ class BlockImpl_dense /** Column or Row constructor */ + EIGEN_DEVICE_FUNC inline BlockImpl_dense(XprType& xpr, Index i) - : Base(internal::const_cast_ptr(&xpr.coeffRef( - (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0, - (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0)), + : Base(xpr.data() + i * ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && (!XprTypeIsRowMajor)) + || ((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && ( XprTypeIsRowMajor)) ? xpr.innerStride() : xpr.outerStride()), BlockRows==1 ? 1 : xpr.rows(), BlockCols==1 ? 1 : xpr.cols()), m_xpr(xpr) @@ -335,29 +358,34 @@ class BlockImpl_dense /** Fixed-size constructor */ + EIGEN_DEVICE_FUNC inline BlockImpl_dense(XprType& xpr, Index startRow, Index startCol) - : Base(internal::const_cast_ptr(&xpr.coeffRef(startRow,startCol))), m_xpr(xpr) + : Base(xpr.data()+xpr.innerStride()*(XprTypeIsRowMajor?startCol:startRow) + xpr.outerStride()*(XprTypeIsRowMajor?startRow:startCol)), + m_xpr(xpr) { init(); } /** Dynamic-size constructor */ + EIGEN_DEVICE_FUNC inline BlockImpl_dense(XprType& xpr, Index startRow, Index startCol, Index blockRows, Index blockCols) - : Base(internal::const_cast_ptr(&xpr.coeffRef(startRow,startCol)), blockRows, blockCols), + : Base(xpr.data()+xpr.innerStride()*(XprTypeIsRowMajor?startCol:startRow) + xpr.outerStride()*(XprTypeIsRowMajor?startRow:startCol), blockRows, blockCols), m_xpr(xpr) { init(); } - const typename internal::remove_all::type& nestedExpression() const + EIGEN_DEVICE_FUNC + const typename internal::remove_all::type& nestedExpression() const { return m_xpr; } /** \sa MapBase::innerStride() */ + EIGEN_DEVICE_FUNC inline Index innerStride() const { return internal::traits::HasSameStorageOrderAsXprType @@ -366,6 +394,7 @@ class BlockImpl_dense } /** \sa MapBase::outerStride() */ + EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_outerStride; @@ -379,6 +408,7 @@ class BlockImpl_dense #ifndef EIGEN_PARSED_BY_DOXYGEN /** \internal used by allowAligned() */ + EIGEN_DEVICE_FUNC inline BlockImpl_dense(XprType& xpr, const Scalar* data, Index blockRows, Index blockCols) : Base(data, blockRows, blockCols), m_xpr(xpr) { @@ -387,6 +417,7 @@ class BlockImpl_dense #endif protected: + EIGEN_DEVICE_FUNC void init() { m_outerStride = internal::traits::HasSameStorageOrderAsXprType diff --git a/nuparu/include/Eigen/src/Core/BooleanRedux.h b/nuparu/include/Eigen/src/Core/BooleanRedux.h index 6e37e031..8409d874 100644 --- a/nuparu/include/Eigen/src/Core/BooleanRedux.h +++ b/nuparu/include/Eigen/src/Core/BooleanRedux.h @@ -17,9 +17,10 @@ namespace internal { template struct all_unroller { + typedef typename Derived::ExpressionTraits Traits; enum { - col = (UnrollCount-1) / Derived::RowsAtCompileTime, - row = (UnrollCount-1) % Derived::RowsAtCompileTime + col = (UnrollCount-1) / Traits::RowsAtCompileTime, + row = (UnrollCount-1) % Traits::RowsAtCompileTime }; static inline bool run(const Derived &mat) @@ -29,9 +30,9 @@ struct all_unroller }; template -struct all_unroller +struct all_unroller { - static inline bool run(const Derived &mat) { return mat.coeff(0, 0); } + static inline bool run(const Derived &/*mat*/) { return true; } }; template @@ -43,11 +44,12 @@ struct all_unroller template struct any_unroller { + typedef typename Derived::ExpressionTraits Traits; enum { - col = (UnrollCount-1) / Derived::RowsAtCompileTime, - row = (UnrollCount-1) % Derived::RowsAtCompileTime + col = (UnrollCount-1) / Traits::RowsAtCompileTime, + row = (UnrollCount-1) % Traits::RowsAtCompileTime }; - + static inline bool run(const Derived &mat) { return any_unroller::run(mat) || mat.coeff(row, col); @@ -55,9 +57,9 @@ struct any_unroller }; template -struct any_unroller +struct any_unroller { - static inline bool run(const Derived &mat) { return mat.coeff(0, 0); } + static inline bool run(const Derived & /*mat*/) { return false; } }; template @@ -78,19 +80,19 @@ struct any_unroller template inline bool DenseBase::all() const { + typedef internal::evaluator Evaluator; enum { unroll = SizeAtCompileTime != Dynamic - && CoeffReadCost != Dynamic - && NumTraits::AddCost != Dynamic - && SizeAtCompileTime * (CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT + && SizeAtCompileTime * (Evaluator::CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT }; + Evaluator evaluator(derived()); if(unroll) - return internal::all_unroller::run(derived()); + return internal::all_unroller::run(evaluator); else { for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) - if (!coeff(i, j)) return false; + if (!evaluator.coeff(i, j)) return false; return true; } } @@ -102,19 +104,19 @@ inline bool DenseBase::all() const template inline bool DenseBase::any() const { + typedef internal::evaluator Evaluator; enum { unroll = SizeAtCompileTime != Dynamic - && CoeffReadCost != Dynamic - && NumTraits::AddCost != Dynamic - && SizeAtCompileTime * (CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT + && SizeAtCompileTime * (Evaluator::CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT }; + Evaluator evaluator(derived()); if(unroll) - return internal::any_unroller::run(derived()); + return internal::any_unroller::run(evaluator); else { for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) - if (coeff(i, j)) return true; + if (evaluator.coeff(i, j)) return true; return false; } } @@ -124,7 +126,7 @@ inline bool DenseBase::any() const * \sa all(), any() */ template -inline typename DenseBase::Index DenseBase::count() const +inline Eigen::Index DenseBase::count() const { return derived().template cast().template cast().sum(); } @@ -136,7 +138,11 @@ inline typename DenseBase::Index DenseBase::count() const template inline bool DenseBase::hasNaN() const { +#if EIGEN_COMP_MSVC || (defined __FAST_MATH__) + return derived().array().isNaN().any(); +#else return !((derived().array()==derived().array()).all()); +#endif } /** \returns true if \c *this contains only finite numbers, i.e., no NaN and no +/-INF values. @@ -146,7 +152,11 @@ inline bool DenseBase::hasNaN() const template inline bool DenseBase::allFinite() const { +#if EIGEN_COMP_MSVC || (defined __FAST_MATH__) + return derived().array().isFinite().all(); +#else return !((derived()-derived()).hasNaN()); +#endif } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/CMakeLists.txt b/nuparu/include/Eigen/src/Core/CMakeLists.txt index 2346fc2b..38c3afde 100644 --- a/nuparu/include/Eigen/src/Core/CMakeLists.txt +++ b/nuparu/include/Eigen/src/Core/CMakeLists.txt @@ -8,3 +8,4 @@ INSTALL(FILES ADD_SUBDIRECTORY(products) ADD_SUBDIRECTORY(util) ADD_SUBDIRECTORY(arch) +ADD_SUBDIRECTORY(functors) diff --git a/nuparu/include/Eigen/src/Core/CommaInitializer.h b/nuparu/include/Eigen/src/Core/CommaInitializer.h index a96867af..89bcd750 100644 --- a/nuparu/include/Eigen/src/Core/CommaInitializer.h +++ b/nuparu/include/Eigen/src/Core/CommaInitializer.h @@ -28,8 +28,8 @@ template struct CommaInitializer { typedef typename XprType::Scalar Scalar; - typedef typename XprType::Index Index; + EIGEN_DEVICE_FUNC inline CommaInitializer(XprType& xpr, const Scalar& s) : m_xpr(xpr), m_row(0), m_col(1), m_currentBlockRows(1) { @@ -37,13 +37,27 @@ struct CommaInitializer } template + EIGEN_DEVICE_FUNC inline CommaInitializer(XprType& xpr, const DenseBase& other) : m_xpr(xpr), m_row(0), m_col(other.cols()), m_currentBlockRows(other.rows()) { m_xpr.block(0, 0, other.rows(), other.cols()) = other; } + /* Copy/Move constructor which transfers ownership. This is crucial in + * absence of return value optimization to avoid assertions during destruction. */ + // FIXME in C++11 mode this could be replaced by a proper RValue constructor + EIGEN_DEVICE_FUNC + inline CommaInitializer(const CommaInitializer& o) + : m_xpr(o.m_xpr), m_row(o.m_row), m_col(o.m_col), m_currentBlockRows(o.m_currentBlockRows) { + // Mark original object as finished. In absence of R-value references we need to const_cast: + const_cast(o).m_row = m_xpr.rows(); + const_cast(o).m_col = m_xpr.cols(); + const_cast(o).m_currentBlockRows = 0; + } + /* inserts a scalar value in the target matrix */ + EIGEN_DEVICE_FUNC CommaInitializer& operator,(const Scalar& s) { if (m_col==m_xpr.cols()) @@ -63,6 +77,7 @@ struct CommaInitializer /* inserts a matrix expression in the target matrix */ template + EIGEN_DEVICE_FUNC CommaInitializer& operator,(const DenseBase& other) { if(other.cols()==0 || other.rows()==0) @@ -88,7 +103,11 @@ struct CommaInitializer return *this; } + EIGEN_DEVICE_FUNC inline ~CommaInitializer() +#if defined VERIFY_RAISES_ASSERT && (!defined EIGEN_NO_ASSERTION_CHECKING) && defined EIGEN_EXCEPTIONS + EIGEN_EXCEPTION_SPEC(Eigen::eigen_assert_exception) +#endif { eigen_assert((m_row+m_currentBlockRows) == m_xpr.rows() && m_col == m_xpr.cols() @@ -102,9 +121,10 @@ struct CommaInitializer * quaternion.fromRotationMatrix((Matrix3f() << axis0, axis1, axis2).finished()); * \endcode */ + EIGEN_DEVICE_FUNC inline XprType& finished() { return m_xpr; } - XprType& m_xpr; // target expression + XprType& m_xpr; // target expression Index m_row; // current row id Index m_col; // current col id Index m_currentBlockRows; // current block height diff --git a/nuparu/include/Eigen/src/Core/CoreEvaluators.h b/nuparu/include/Eigen/src/Core/CoreEvaluators.h new file mode 100644 index 00000000..f97dc33d --- /dev/null +++ b/nuparu/include/Eigen/src/Core/CoreEvaluators.h @@ -0,0 +1,1376 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2011 Benoit Jacob +// Copyright (C) 2011-2014 Gael Guennebaud +// Copyright (C) 2011-2012 Jitse Niesen +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +#ifndef EIGEN_COREEVALUATORS_H +#define EIGEN_COREEVALUATORS_H + +namespace Eigen { + +namespace internal { + +// This class returns the evaluator kind from the expression storage kind. +// Default assumes index based accessors +template +struct storage_kind_to_evaluator_kind { + typedef IndexBased Kind; +}; + +// This class returns the evaluator shape from the expression storage kind. +// It can be Dense, Sparse, Triangular, Diagonal, SelfAdjoint, Band, etc. +template struct storage_kind_to_shape; + +template<> struct storage_kind_to_shape { typedef DenseShape Shape; }; +template<> struct storage_kind_to_shape { typedef SolverShape Shape; }; +template<> struct storage_kind_to_shape { typedef PermutationShape Shape; }; +template<> struct storage_kind_to_shape { typedef TranspositionsShape Shape; }; + +// Evaluators have to be specialized with respect to various criteria such as: +// - storage/structure/shape +// - scalar type +// - etc. +// Therefore, we need specialization of evaluator providing additional template arguments for each kind of evaluators. +// We currently distinguish the following kind of evaluators: +// - unary_evaluator for expressions taking only one arguments (CwiseUnaryOp, CwiseUnaryView, Transpose, MatrixWrapper, ArrayWrapper, Reverse, Replicate) +// - binary_evaluator for expression taking two arguments (CwiseBinaryOp) +// - product_evaluator for linear algebra products (Product); special case of binary_evaluator because it requires additional tags for dispatching. +// - mapbase_evaluator for Map, Block, Ref +// - block_evaluator for Block (special dispatching to a mapbase_evaluator or unary_evaluator) + +template< typename T, + typename LhsKind = typename evaluator_traits::Kind, + typename RhsKind = typename evaluator_traits::Kind, + typename LhsScalar = typename traits::Scalar, + typename RhsScalar = typename traits::Scalar> struct binary_evaluator; + +template< typename T, + typename Kind = typename evaluator_traits::Kind, + typename Scalar = typename T::Scalar> struct unary_evaluator; + +// evaluator_traits contains traits for evaluator + +template +struct evaluator_traits_base +{ + // by default, get evaluator kind and shape from storage + typedef typename storage_kind_to_evaluator_kind::StorageKind>::Kind Kind; + typedef typename storage_kind_to_shape::StorageKind>::Shape Shape; + + // 1 if assignment A = B assumes aliasing when B is of type T and thus B needs to be evaluated into a + // temporary; 0 if not. + static const int AssumeAliasing = 0; +}; + +// Default evaluator traits +template +struct evaluator_traits : public evaluator_traits_base +{ +}; + + +// By default, we assume a unary expression: +template +struct evaluator : public unary_evaluator +{ + typedef unary_evaluator Base; + EIGEN_DEVICE_FUNC explicit evaluator(const T& xpr) : Base(xpr) {} +}; + + +// TODO: Think about const-correctness +template +struct evaluator + : evaluator +{ + EIGEN_DEVICE_FUNC + explicit evaluator(const T& xpr) : evaluator(xpr) {} +}; + +// ---------- base class for all evaluators ---------- + +template +struct evaluator_base : public noncopyable +{ + // TODO that's not very nice to have to propagate all these traits. They are currently only needed to handle outer,inner indices. + typedef traits ExpressionTraits; + + enum { + Alignment = 0 + }; +}; + +// -------------------- Matrix and Array -------------------- +// +// evaluator is a common base class for the +// Matrix and Array evaluators. +// Here we directly specialize evaluator. This is not really a unary expression, and it is, by definition, dense, +// so no need for more sophisticated dispatching. + +template +struct evaluator > + : evaluator_base +{ + typedef PlainObjectBase PlainObjectType; + typedef typename PlainObjectType::Scalar Scalar; + typedef typename PlainObjectType::CoeffReturnType CoeffReturnType; + + enum { + IsRowMajor = PlainObjectType::IsRowMajor, + IsVectorAtCompileTime = PlainObjectType::IsVectorAtCompileTime, + RowsAtCompileTime = PlainObjectType::RowsAtCompileTime, + ColsAtCompileTime = PlainObjectType::ColsAtCompileTime, + + CoeffReadCost = NumTraits::ReadCost, + Flags = traits::EvaluatorFlags, + Alignment = traits::Alignment + }; + + EIGEN_DEVICE_FUNC evaluator() + : m_data(0), + m_outerStride(IsVectorAtCompileTime ? 0 + : int(IsRowMajor) ? ColsAtCompileTime + : RowsAtCompileTime) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + EIGEN_DEVICE_FUNC explicit evaluator(const PlainObjectType& m) + : m_data(m.data()), m_outerStride(IsVectorAtCompileTime ? 0 : m.outerStride()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + if (IsRowMajor) + return m_data[row * m_outerStride.value() + col]; + else + return m_data[row + col * m_outerStride.value()]; + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_data[index]; + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + if (IsRowMajor) + return const_cast(m_data)[row * m_outerStride.value() + col]; + else + return const_cast(m_data)[row + col * m_outerStride.value()]; + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return const_cast(m_data)[index]; + } + + template + PacketType packet(Index row, Index col) const + { + if (IsRowMajor) + return ploadt(m_data + row * m_outerStride.value() + col); + else + return ploadt(m_data + row + col * m_outerStride.value()); + } + + template + PacketType packet(Index index) const + { + return ploadt(m_data + index); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + if (IsRowMajor) + return pstoret + (const_cast(m_data) + row * m_outerStride.value() + col, x); + else + return pstoret + (const_cast(m_data) + row + col * m_outerStride.value(), x); + } + + template + void writePacket(Index index, const PacketType& x) + { + return pstoret(const_cast(m_data) + index, x); + } + +protected: + const Scalar *m_data; + + // We do not need to know the outer stride for vectors + variable_if_dynamic m_outerStride; +}; + +template +struct evaluator > + : evaluator > > +{ + typedef Matrix XprType; + + EIGEN_DEVICE_FUNC evaluator() {} + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& m) + : evaluator >(m) + { } +}; + +template +struct evaluator > + : evaluator > > +{ + typedef Array XprType; + + EIGEN_DEVICE_FUNC evaluator() {} + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& m) + : evaluator >(m) + { } +}; + +// -------------------- Transpose -------------------- + +template +struct unary_evaluator, IndexBased> + : evaluator_base > +{ + typedef Transpose XprType; + + enum { + CoeffReadCost = evaluator::CoeffReadCost, + Flags = evaluator::Flags ^ RowMajorBit, + Alignment = evaluator::Alignment + }; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& t) : m_argImpl(t.nestedExpression()) {} + + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_argImpl.coeff(col, row); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_argImpl.coeff(index); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_argImpl.coeffRef(col, row); + } + + EIGEN_DEVICE_FUNC typename XprType::Scalar& coeffRef(Index index) + { + return m_argImpl.coeffRef(index); + } + + template + PacketType packet(Index row, Index col) const + { + return m_argImpl.template packet(col, row); + } + + template + PacketType packet(Index index) const + { + return m_argImpl.template packet(index); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + m_argImpl.template writePacket(col, row, x); + } + + template + void writePacket(Index index, const PacketType& x) + { + m_argImpl.template writePacket(index, x); + } + +protected: + evaluator m_argImpl; +}; + +// -------------------- CwiseNullaryOp -------------------- +// Like Matrix and Array, this is not really a unary expression, so we directly specialize evaluator. +// Likewise, there is not need to more sophisticated dispatching here. + +template +struct evaluator > + : evaluator_base > +{ + typedef CwiseNullaryOp XprType; + typedef typename internal::remove_all::type PlainObjectTypeCleaned; + + enum { + CoeffReadCost = internal::functor_traits::Cost, + + Flags = (evaluator::Flags + & ( HereditaryBits + | (functor_has_linear_access::ret ? LinearAccessBit : 0) + | (functor_traits::PacketAccess ? PacketAccessBit : 0))) + | (functor_traits::IsRepeatable ? 0 : EvalBeforeNestingBit), + Alignment = AlignedMax + }; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& n) + : m_functor(n.functor()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_functor(row, col); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_functor(index); + } + + template + PacketType packet(Index row, Index col) const + { + return m_functor.template packetOp(row, col); + } + + template + PacketType packet(Index index) const + { + return m_functor.template packetOp(index); + } + +protected: + const NullaryOp m_functor; +}; + +// -------------------- CwiseUnaryOp -------------------- + +template +struct unary_evaluator, IndexBased > + : evaluator_base > +{ + typedef CwiseUnaryOp XprType; + + enum { + CoeffReadCost = evaluator::CoeffReadCost + functor_traits::Cost, + + Flags = evaluator::Flags + & (HereditaryBits | LinearAccessBit | (functor_traits::PacketAccess ? PacketAccessBit : 0)), + Alignment = evaluator::Alignment + }; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& op) + : m_functor(op.functor()), + m_argImpl(op.nestedExpression()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(functor_traits::Cost); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_functor(m_argImpl.coeff(row, col)); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_functor(m_argImpl.coeff(index)); + } + + template + PacketType packet(Index row, Index col) const + { + return m_functor.packetOp(m_argImpl.template packet(row, col)); + } + + template + PacketType packet(Index index) const + { + return m_functor.packetOp(m_argImpl.template packet(index)); + } + +protected: + const UnaryOp m_functor; + evaluator m_argImpl; +}; + +// -------------------- CwiseBinaryOp -------------------- + +// this is a binary expression +template +struct evaluator > + : public binary_evaluator > +{ + typedef CwiseBinaryOp XprType; + typedef binary_evaluator > Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : Base(xpr) {} +}; + +template +struct binary_evaluator, IndexBased, IndexBased> + : evaluator_base > +{ + typedef CwiseBinaryOp XprType; + + enum { + CoeffReadCost = evaluator::CoeffReadCost + evaluator::CoeffReadCost + functor_traits::Cost, + + LhsFlags = evaluator::Flags, + RhsFlags = evaluator::Flags, + SameType = is_same::value, + StorageOrdersAgree = (int(LhsFlags)&RowMajorBit)==(int(RhsFlags)&RowMajorBit), + Flags0 = (int(LhsFlags) | int(RhsFlags)) & ( + HereditaryBits + | (int(LhsFlags) & int(RhsFlags) & + ( (StorageOrdersAgree ? LinearAccessBit : 0) + | (functor_traits::PacketAccess && StorageOrdersAgree && SameType ? PacketAccessBit : 0) + ) + ) + ), + Flags = (Flags0 & ~RowMajorBit) | (LhsFlags & RowMajorBit), + Alignment = EIGEN_PLAIN_ENUM_MIN(evaluator::Alignment,evaluator::Alignment) + }; + + EIGEN_DEVICE_FUNC explicit binary_evaluator(const XprType& xpr) + : m_functor(xpr.functor()), + m_lhsImpl(xpr.lhs()), + m_rhsImpl(xpr.rhs()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(functor_traits::Cost); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_functor(m_lhsImpl.coeff(row, col), m_rhsImpl.coeff(row, col)); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_functor(m_lhsImpl.coeff(index), m_rhsImpl.coeff(index)); + } + + template + PacketType packet(Index row, Index col) const + { + return m_functor.packetOp(m_lhsImpl.template packet(row, col), + m_rhsImpl.template packet(row, col)); + } + + template + PacketType packet(Index index) const + { + return m_functor.packetOp(m_lhsImpl.template packet(index), + m_rhsImpl.template packet(index)); + } + +protected: + const BinaryOp m_functor; + evaluator m_lhsImpl; + evaluator m_rhsImpl; +}; + +// -------------------- CwiseUnaryView -------------------- + +template +struct unary_evaluator, IndexBased> + : evaluator_base > +{ + typedef CwiseUnaryView XprType; + + enum { + CoeffReadCost = evaluator::CoeffReadCost + functor_traits::Cost, + + Flags = (evaluator::Flags & (HereditaryBits | LinearAccessBit | DirectAccessBit)), + + Alignment = 0 // FIXME it is not very clear why alignment is necessarily lost... + }; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& op) + : m_unaryOp(op.functor()), + m_argImpl(op.nestedExpression()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(functor_traits::Cost); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_unaryOp(m_argImpl.coeff(row, col)); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_unaryOp(m_argImpl.coeff(index)); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_unaryOp(m_argImpl.coeffRef(row, col)); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return m_unaryOp(m_argImpl.coeffRef(index)); + } + +protected: + const UnaryOp m_unaryOp; + evaluator m_argImpl; +}; + +// -------------------- Map -------------------- + +// FIXME perhaps the PlainObjectType could be provided by Derived::PlainObject ? +// but that might complicate template specialization +template +struct mapbase_evaluator; + +template +struct mapbase_evaluator : evaluator_base +{ + typedef Derived XprType; + typedef typename XprType::PointerType PointerType; + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + + enum { + IsRowMajor = XprType::RowsAtCompileTime, + ColsAtCompileTime = XprType::ColsAtCompileTime, + CoeffReadCost = NumTraits::ReadCost + }; + + EIGEN_DEVICE_FUNC explicit mapbase_evaluator(const XprType& map) + : m_data(const_cast(map.data())), + m_xpr(map) + { + EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(evaluator::Flags&PacketAccessBit, internal::inner_stride_at_compile_time::ret==1), + PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_data[col * m_xpr.colStride() + row * m_xpr.rowStride()]; + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_data[index * m_xpr.innerStride()]; + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_data[col * m_xpr.colStride() + row * m_xpr.rowStride()]; + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return m_data[index * m_xpr.innerStride()]; + } + + template + PacketType packet(Index row, Index col) const + { + PointerType ptr = m_data + row * m_xpr.rowStride() + col * m_xpr.colStride(); + return internal::ploadt(ptr); + } + + template + PacketType packet(Index index) const + { + return internal::ploadt(m_data + index * m_xpr.innerStride()); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + PointerType ptr = m_data + row * m_xpr.rowStride() + col * m_xpr.colStride(); + return internal::pstoret(ptr, x); + } + + template + void writePacket(Index index, const PacketType& x) + { + internal::pstoret(m_data + index * m_xpr.innerStride(), x); + } + +protected: + PointerType m_data; + const XprType& m_xpr; +}; + +template +struct evaluator > + : public mapbase_evaluator, PlainObjectType> +{ + typedef Map XprType; + typedef typename XprType::Scalar Scalar; + // TODO: should check for smaller packet types once we can handle multi-sized packet types + typedef typename packet_traits::type PacketScalar; + + enum { + InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0 + ? int(PlainObjectType::InnerStrideAtCompileTime) + : int(StrideType::InnerStrideAtCompileTime), + OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0 + ? int(PlainObjectType::OuterStrideAtCompileTime) + : int(StrideType::OuterStrideAtCompileTime), + HasNoInnerStride = InnerStrideAtCompileTime == 1, + HasNoOuterStride = StrideType::OuterStrideAtCompileTime == 0, + HasNoStride = HasNoInnerStride && HasNoOuterStride, + IsDynamicSize = PlainObjectType::SizeAtCompileTime==Dynamic, + + PacketAccessMask = bool(HasNoInnerStride) ? ~int(0) : ~int(PacketAccessBit), + LinearAccessMask = bool(HasNoStride) || bool(PlainObjectType::IsVectorAtCompileTime) ? ~int(0) : ~int(LinearAccessBit), + Flags = int( evaluator::Flags) & (LinearAccessMask&PacketAccessMask), + + Alignment = int(MapOptions)&int(AlignedMask) + }; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& map) + : mapbase_evaluator(map) + { } +}; + +// -------------------- Ref -------------------- + +template +struct evaluator > + : public mapbase_evaluator, PlainObjectType> +{ + typedef Ref XprType; + + enum { + Flags = evaluator >::Flags, + Alignment = evaluator >::Alignment + }; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& ref) + : mapbase_evaluator(ref) + { } +}; + +// -------------------- Block -------------------- + +template::ret> struct block_evaluator; + +template +struct evaluator > + : block_evaluator +{ + typedef Block XprType; + typedef typename XprType::Scalar Scalar; + // TODO: should check for smaller packet types once we can handle multi-sized packet types + typedef typename packet_traits::type PacketScalar; + + enum { + CoeffReadCost = evaluator::CoeffReadCost, + + RowsAtCompileTime = traits::RowsAtCompileTime, + ColsAtCompileTime = traits::ColsAtCompileTime, + MaxRowsAtCompileTime = traits::MaxRowsAtCompileTime, + MaxColsAtCompileTime = traits::MaxColsAtCompileTime, + + ArgTypeIsRowMajor = (int(evaluator::Flags)&RowMajorBit) != 0, + IsRowMajor = (MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1) ? 1 + : (MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1) ? 0 + : ArgTypeIsRowMajor, + HasSameStorageOrderAsArgType = (IsRowMajor == ArgTypeIsRowMajor), + InnerSize = IsRowMajor ? int(ColsAtCompileTime) : int(RowsAtCompileTime), + InnerStrideAtCompileTime = HasSameStorageOrderAsArgType + ? int(inner_stride_at_compile_time::ret) + : int(outer_stride_at_compile_time::ret), + OuterStrideAtCompileTime = HasSameStorageOrderAsArgType + ? int(outer_stride_at_compile_time::ret) + : int(inner_stride_at_compile_time::ret), + MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits::size) == 0) + && (InnerStrideAtCompileTime == 1) + ? PacketAccessBit : 0, + + FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1 || (InnerPanel && (evaluator::Flags&LinearAccessBit))) ? LinearAccessBit : 0, + FlagsRowMajorBit = XprType::Flags&RowMajorBit, + Flags0 = evaluator::Flags & ( (HereditaryBits & ~RowMajorBit) | + DirectAccessBit | + MaskPacketAccessBit), + Flags = Flags0 | FlagsLinearAccessBit | FlagsRowMajorBit, + + PacketAlignment = unpacket_traits::alignment, + Alignment0 = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % int(PacketAlignment)) == 0)) ? int(PacketAlignment) : 0, + Alignment = EIGEN_PLAIN_ENUM_MIN(evaluator::Alignment, Alignment0) + }; + typedef block_evaluator block_evaluator_type; + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& block) : block_evaluator_type(block) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } +}; + +// no direct-access => dispatch to a unary evaluator +template +struct block_evaluator + : unary_evaluator > +{ + typedef Block XprType; + + EIGEN_DEVICE_FUNC explicit block_evaluator(const XprType& block) + : unary_evaluator(block) + {} +}; + +template +struct unary_evaluator, IndexBased> + : evaluator_base > +{ + typedef Block XprType; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& block) + : m_argImpl(block.nestedExpression()), + m_startRow(block.startRow()), + m_startCol(block.startCol()) + { } + + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + + enum { + RowsAtCompileTime = XprType::RowsAtCompileTime + }; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_argImpl.coeff(m_startRow.value() + row, m_startCol.value() + col); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return coeff(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_argImpl.coeffRef(m_startRow.value() + row, m_startCol.value() + col); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return coeffRef(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); + } + + template + PacketType packet(Index row, Index col) const + { + return m_argImpl.template packet(m_startRow.value() + row, m_startCol.value() + col); + } + + template + PacketType packet(Index index) const + { + return packet(RowsAtCompileTime == 1 ? 0 : index, + RowsAtCompileTime == 1 ? index : 0); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + return m_argImpl.template writePacket(m_startRow.value() + row, m_startCol.value() + col, x); + } + + template + void writePacket(Index index, const PacketType& x) + { + return writePacket(RowsAtCompileTime == 1 ? 0 : index, + RowsAtCompileTime == 1 ? index : 0, + x); + } + +protected: + evaluator m_argImpl; + const variable_if_dynamic m_startRow; + const variable_if_dynamic m_startCol; +}; + +// TODO: This evaluator does not actually use the child evaluator; +// all action is via the data() as returned by the Block expression. + +template +struct block_evaluator + : mapbase_evaluator, + typename Block::PlainObject> +{ + typedef Block XprType; + typedef typename XprType::Scalar Scalar; + + EIGEN_DEVICE_FUNC explicit block_evaluator(const XprType& block) + : mapbase_evaluator(block) + { + // TODO: for the 3.3 release, this should be turned to an internal assertion, but let's keep it as is for the beta lifetime + eigen_assert(((size_t(block.data()) % EIGEN_PLAIN_ENUM_MAX(1,evaluator::Alignment)) == 0) && "data is not aligned"); + } +}; + + +// -------------------- Select -------------------- +// NOTE shall we introduce a ternary_evaluator? + +// TODO enable vectorization for Select +template +struct evaluator > + : evaluator_base > +{ + typedef Select XprType; + enum { + CoeffReadCost = evaluator::CoeffReadCost + + EIGEN_PLAIN_ENUM_MAX(evaluator::CoeffReadCost, + evaluator::CoeffReadCost), + + Flags = (unsigned int)evaluator::Flags & evaluator::Flags & HereditaryBits, + + Alignment = EIGEN_PLAIN_ENUM_MIN(evaluator::Alignment, evaluator::Alignment) + }; + + inline EIGEN_DEVICE_FUNC explicit evaluator(const XprType& select) + : m_conditionImpl(select.conditionMatrix()), + m_thenImpl(select.thenMatrix()), + m_elseImpl(select.elseMatrix()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::CoeffReturnType CoeffReturnType; + + inline EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + if (m_conditionImpl.coeff(row, col)) + return m_thenImpl.coeff(row, col); + else + return m_elseImpl.coeff(row, col); + } + + inline EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + if (m_conditionImpl.coeff(index)) + return m_thenImpl.coeff(index); + else + return m_elseImpl.coeff(index); + } + +protected: + evaluator m_conditionImpl; + evaluator m_thenImpl; + evaluator m_elseImpl; +}; + + +// -------------------- Replicate -------------------- + +template +struct unary_evaluator > + : evaluator_base > +{ + typedef Replicate XprType; + typedef typename XprType::CoeffReturnType CoeffReturnType; + enum { + Factor = (RowFactor==Dynamic || ColFactor==Dynamic) ? Dynamic : RowFactor*ColFactor + }; + typedef typename internal::nested_eval::type ArgTypeNested; + typedef typename internal::remove_all::type ArgTypeNestedCleaned; + + enum { + CoeffReadCost = evaluator::CoeffReadCost, + LinearAccessMask = XprType::IsVectorAtCompileTime ? LinearAccessBit : 0, + Flags = (evaluator::Flags & (HereditaryBits|LinearAccessMask) & ~RowMajorBit) | (traits::Flags & RowMajorBit), + + Alignment = evaluator::Alignment + }; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& replicate) + : m_arg(replicate.nestedExpression()), + m_argImpl(m_arg), + m_rows(replicate.nestedExpression().rows()), + m_cols(replicate.nestedExpression().cols()) + {} + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + // try to avoid using modulo; this is a pure optimization strategy + const Index actual_row = internal::traits::RowsAtCompileTime==1 ? 0 + : RowFactor==1 ? row + : row % m_rows.value(); + const Index actual_col = internal::traits::ColsAtCompileTime==1 ? 0 + : ColFactor==1 ? col + : col % m_cols.value(); + + return m_argImpl.coeff(actual_row, actual_col); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + // try to avoid using modulo; this is a pure optimization strategy + const Index actual_index = internal::traits::RowsAtCompileTime==1 + ? (ColFactor==1 ? index : index%m_cols.value()) + : (RowFactor==1 ? index : index%m_rows.value()); + + return m_argImpl.coeff(actual_index); + } + + template + PacketType packet(Index row, Index col) const + { + const Index actual_row = internal::traits::RowsAtCompileTime==1 ? 0 + : RowFactor==1 ? row + : row % m_rows.value(); + const Index actual_col = internal::traits::ColsAtCompileTime==1 ? 0 + : ColFactor==1 ? col + : col % m_cols.value(); + + return m_argImpl.template packet(actual_row, actual_col); + } + + template + PacketType packet(Index index) const + { + const Index actual_index = internal::traits::RowsAtCompileTime==1 + ? (ColFactor==1 ? index : index%m_cols.value()) + : (RowFactor==1 ? index : index%m_rows.value()); + + return m_argImpl.template packet(actual_index); + } + +protected: + const ArgTypeNested m_arg; + evaluator m_argImpl; + const variable_if_dynamic m_rows; + const variable_if_dynamic m_cols; +}; + + +// -------------------- PartialReduxExpr -------------------- + +template< typename ArgType, typename MemberOp, int Direction> +struct evaluator > + : evaluator_base > +{ + typedef PartialReduxExpr XprType; + typedef typename internal::nested_eval::type ArgTypeNested; + typedef typename internal::remove_all::type ArgTypeNestedCleaned; + typedef typename ArgType::Scalar InputScalar; + typedef typename XprType::Scalar Scalar; + enum { + TraversalSize = Direction==int(Vertical) ? int(ArgType::RowsAtCompileTime) : int(ArgType::ColsAtCompileTime) + }; + typedef typename MemberOp::template Cost CostOpType; + enum { + CoeffReadCost = TraversalSize==Dynamic ? HugeCost + : TraversalSize * evaluator::CoeffReadCost + int(CostOpType::value), + + Flags = (traits::Flags&RowMajorBit) | (evaluator::Flags&(HereditaryBits&(~RowMajorBit))), + + Alignment = 0 // FIXME this will need to be improved once PartialReduxExpr is vectorized + }; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType xpr) + : m_arg(xpr.nestedExpression()), m_functor(xpr.functor()) + { + EIGEN_INTERNAL_CHECK_COST_VALUE(TraversalSize==Dynamic ? HugeCost : int(CostOpType::value)); + EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost); + } + + typedef typename XprType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index i, Index j) const + { + if (Direction==Vertical) + return m_functor(m_arg.col(j)); + else + return m_functor(m_arg.row(i)); + } + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index index) const + { + if (Direction==Vertical) + return m_functor(m_arg.col(index)); + else + return m_functor(m_arg.row(index)); + } + +protected: + const ArgTypeNested m_arg; + const MemberOp m_functor; +}; + + +// -------------------- MatrixWrapper and ArrayWrapper -------------------- +// +// evaluator_wrapper_base is a common base class for the +// MatrixWrapper and ArrayWrapper evaluators. + +template +struct evaluator_wrapper_base + : evaluator_base +{ + typedef typename remove_all::type ArgType; + enum { + CoeffReadCost = evaluator::CoeffReadCost, + Flags = evaluator::Flags, + Alignment = evaluator::Alignment + }; + + EIGEN_DEVICE_FUNC explicit evaluator_wrapper_base(const ArgType& arg) : m_argImpl(arg) {} + + typedef typename ArgType::Scalar Scalar; + typedef typename ArgType::CoeffReturnType CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_argImpl.coeff(row, col); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_argImpl.coeff(index); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_argImpl.coeffRef(row, col); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return m_argImpl.coeffRef(index); + } + + template + PacketType packet(Index row, Index col) const + { + return m_argImpl.template packet(row, col); + } + + template + PacketType packet(Index index) const + { + return m_argImpl.template packet(index); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + m_argImpl.template writePacket(row, col, x); + } + + template + void writePacket(Index index, const PacketType& x) + { + m_argImpl.template writePacket(index, x); + } + +protected: + evaluator m_argImpl; +}; + +template +struct unary_evaluator > + : evaluator_wrapper_base > +{ + typedef MatrixWrapper XprType; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& wrapper) + : evaluator_wrapper_base >(wrapper.nestedExpression()) + { } +}; + +template +struct unary_evaluator > + : evaluator_wrapper_base > +{ + typedef ArrayWrapper XprType; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& wrapper) + : evaluator_wrapper_base >(wrapper.nestedExpression()) + { } +}; + + +// -------------------- Reverse -------------------- + +// defined in Reverse.h: +template struct reverse_packet_cond; + +template +struct unary_evaluator > + : evaluator_base > +{ + typedef Reverse XprType; + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + + enum { + IsRowMajor = XprType::IsRowMajor, + IsColMajor = !IsRowMajor, + ReverseRow = (Direction == Vertical) || (Direction == BothDirections), + ReverseCol = (Direction == Horizontal) || (Direction == BothDirections), + ReversePacket = (Direction == BothDirections) + || ((Direction == Vertical) && IsColMajor) + || ((Direction == Horizontal) && IsRowMajor), + + CoeffReadCost = evaluator::CoeffReadCost, + + // let's enable LinearAccess only with vectorization because of the product overhead + // FIXME enable DirectAccess with negative strides? + Flags0 = evaluator::Flags, + LinearAccess = ( (Direction==BothDirections) && (int(Flags0)&PacketAccessBit) ) + || ((ReverseRow && XprType::ColsAtCompileTime==1) || (ReverseCol && XprType::RowsAtCompileTime==1)) + ? LinearAccessBit : 0, + + Flags = int(Flags0) & (HereditaryBits | PacketAccessBit | LinearAccess), + + Alignment = 0 // FIXME in some rare cases, Alignment could be preserved, like a Vector4f. + }; + + EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& reverse) + : m_argImpl(reverse.nestedExpression()), + m_rows(ReverseRow ? reverse.nestedExpression().rows() : 1), + m_cols(ReverseCol ? reverse.nestedExpression().cols() : 1) + { } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const + { + return m_argImpl.coeff(ReverseRow ? m_rows.value() - row - 1 : row, + ReverseCol ? m_cols.value() - col - 1 : col); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_argImpl.coeff(m_rows.value() * m_cols.value() - index - 1); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index col) + { + return m_argImpl.coeffRef(ReverseRow ? m_rows.value() - row - 1 : row, + ReverseCol ? m_cols.value() - col - 1 : col); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return m_argImpl.coeffRef(m_rows.value() * m_cols.value() - index - 1); + } + + template + PacketType packet(Index row, Index col) const + { + enum { + PacketSize = unpacket_traits::size, + OffsetRow = ReverseRow && IsColMajor ? PacketSize : 1, + OffsetCol = ReverseCol && IsRowMajor ? PacketSize : 1 + }; + typedef internal::reverse_packet_cond reverse_packet; + return reverse_packet::run(m_argImpl.template packet( + ReverseRow ? m_rows.value() - row - OffsetRow : row, + ReverseCol ? m_cols.value() - col - OffsetCol : col)); + } + + template + PacketType packet(Index index) const + { + enum { PacketSize = unpacket_traits::size }; + return preverse(m_argImpl.template packet(m_rows.value() * m_cols.value() - index - PacketSize)); + } + + template + void writePacket(Index row, Index col, const PacketType& x) + { + // FIXME we could factorize some code with packet(i,j) + enum { + PacketSize = unpacket_traits::size, + OffsetRow = ReverseRow && IsColMajor ? PacketSize : 1, + OffsetCol = ReverseCol && IsRowMajor ? PacketSize : 1 + }; + typedef internal::reverse_packet_cond reverse_packet; + m_argImpl.template writePacket( + ReverseRow ? m_rows.value() - row - OffsetRow : row, + ReverseCol ? m_cols.value() - col - OffsetCol : col, + reverse_packet::run(x)); + } + + template + void writePacket(Index index, const PacketType& x) + { + enum { PacketSize = unpacket_traits::size }; + m_argImpl.template writePacket + (m_rows.value() * m_cols.value() - index - PacketSize, preverse(x)); + } + +protected: + evaluator m_argImpl; + + // If we do not reverse rows, then we do not need to know the number of rows; same for columns + // Nonetheless, in this case it is important to set to 1 such that the coeff(index) method works fine for vectors. + const variable_if_dynamic m_rows; + const variable_if_dynamic m_cols; +}; + + +// -------------------- Diagonal -------------------- + +template +struct evaluator > + : evaluator_base > +{ + typedef Diagonal XprType; + + enum { + CoeffReadCost = evaluator::CoeffReadCost, + + Flags = (unsigned int)evaluator::Flags & (HereditaryBits | LinearAccessBit | DirectAccessBit) & ~RowMajorBit, + + Alignment = 0 + }; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& diagonal) + : m_argImpl(diagonal.nestedExpression()), + m_index(diagonal.index()) + { } + + typedef typename XprType::Scalar Scalar; + // FIXME having to check whether ArgType is sparse here i not very nice. + typedef typename internal::conditional::value, + typename XprType::CoeffReturnType,Scalar>::type CoeffReturnType; + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index) const + { + return m_argImpl.coeff(row + rowOffset(), row + colOffset()); + } + + EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index index) const + { + return m_argImpl.coeff(index + rowOffset(), index + colOffset()); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index row, Index) + { + return m_argImpl.coeffRef(row + rowOffset(), row + colOffset()); + } + + EIGEN_DEVICE_FUNC Scalar& coeffRef(Index index) + { + return m_argImpl.coeffRef(index + rowOffset(), index + colOffset()); + } + +protected: + evaluator m_argImpl; + const internal::variable_if_dynamicindex m_index; + +private: + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowOffset() const { return m_index.value() > 0 ? 0 : -m_index.value(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colOffset() const { return m_index.value() > 0 ? m_index.value() : 0; } +}; + + +//---------------------------------------------------------------------- +// deprecated code +//---------------------------------------------------------------------- + +// -------------------- EvalToTemp -------------------- + +// expression class for evaluating nested expression to a temporary + +template class EvalToTemp; + +template +struct traits > + : public traits +{ }; + +template +class EvalToTemp + : public dense_xpr_base >::type +{ + public: + + typedef typename dense_xpr_base::type Base; + EIGEN_GENERIC_PUBLIC_INTERFACE(EvalToTemp) + + explicit EvalToTemp(const ArgType& arg) + : m_arg(arg) + { } + + const ArgType& arg() const + { + return m_arg; + } + + Index rows() const + { + return m_arg.rows(); + } + + Index cols() const + { + return m_arg.cols(); + } + + private: + const ArgType& m_arg; +}; + +template +struct evaluator > + : public evaluator +{ + typedef EvalToTemp XprType; + typedef typename ArgType::PlainObject PlainObject; + typedef evaluator Base; + + EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + : m_result(xpr.arg()) + { + ::new (static_cast(this)) Base(m_result); + } + + // This constructor is used when nesting an EvalTo evaluator in another evaluator + EIGEN_DEVICE_FUNC evaluator(const ArgType& arg) + : m_result(arg) + { + ::new (static_cast(this)) Base(m_result); + } + +protected: + PlainObject m_result; +}; + +} // namespace internal + +} // end namespace Eigen + +#endif // EIGEN_COREEVALUATORS_H diff --git a/nuparu/include/Eigen/src/Core/CoreIterators.h b/nuparu/include/Eigen/src/Core/CoreIterators.h index 6da4683d..4eb42b93 100644 --- a/nuparu/include/Eigen/src/Core/CoreIterators.h +++ b/nuparu/include/Eigen/src/Core/CoreIterators.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2008-2010 Gael Guennebaud +// Copyright (C) 2008-2014 Gael Guennebaud // // This Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed @@ -15,47 +15,113 @@ namespace Eigen { /* This file contains the respective InnerIterator definition of the expressions defined in Eigen/Core */ -/** \ingroup SparseCore_Module - * \class InnerIterator - * \brief An InnerIterator allows to loop over the element of a sparse (or dense) matrix or expression - * - * todo +namespace internal { + +template +class inner_iterator_selector; + +} + +/** \class InnerIterator + * \brief An InnerIterator allows to loop over the element of any matrix expression. + * + * \warning To be used with care because an evaluator is constructed every time an InnerIterator iterator is constructed. + * + * TODO: add a usage example */ +template +class InnerIterator +{ +protected: + typedef internal::inner_iterator_selector::Kind> IteratorType; + typedef internal::evaluator EvaluatorType; + typedef typename internal::traits::Scalar Scalar; +public: + /** Construct an iterator over the \a outerId -th row or column of \a xpr */ + InnerIterator(const XprType &xpr, const Index &outerId) + : m_eval(xpr), m_iter(m_eval, outerId, xpr.innerSize()) + {} + + /// \returns the value of the current coefficient. + EIGEN_STRONG_INLINE Scalar value() const { return m_iter.value(); } + /** Increment the iterator \c *this to the next non-zero coefficient. + * Explicit zeros are not skipped over. To skip explicit zeros, see class SparseView + */ + EIGEN_STRONG_INLINE InnerIterator& operator++() { m_iter.operator++(); return *this; } + /// \returns the column or row index of the current coefficient. + EIGEN_STRONG_INLINE Index index() const { return m_iter.index(); } + /// \returns the row index of the current coefficient. + EIGEN_STRONG_INLINE Index row() const { return m_iter.row(); } + /// \returns the column index of the current coefficient. + EIGEN_STRONG_INLINE Index col() const { return m_iter.col(); } + /// \returns \c true if the iterator \c *this still references a valid coefficient. + EIGEN_STRONG_INLINE operator bool() const { return m_iter; } + +protected: + EvaluatorType m_eval; + IteratorType m_iter; +private: + // If you get here, then you're not using the right InnerIterator type, e.g.: + // SparseMatrix A; + // SparseMatrix::InnerIterator it(A,0); + template InnerIterator(const EigenBase&,Index outer); +}; + +namespace internal { -// generic version for dense matrix and expressions -template class DenseBase::InnerIterator +// Generic inner iterator implementation for dense objects +template +class inner_iterator_selector { - protected: - typedef typename Derived::Scalar Scalar; - typedef typename Derived::Index Index; - - enum { IsRowMajor = (Derived::Flags&RowMajorBit)==RowMajorBit }; - public: - EIGEN_STRONG_INLINE InnerIterator(const Derived& expr, Index outer) - : m_expression(expr), m_inner(0), m_outer(outer), m_end(expr.innerSize()) - {} - - EIGEN_STRONG_INLINE Scalar value() const - { - return (IsRowMajor) ? m_expression.coeff(m_outer, m_inner) - : m_expression.coeff(m_inner, m_outer); - } - - EIGEN_STRONG_INLINE InnerIterator& operator++() { m_inner++; return *this; } - - EIGEN_STRONG_INLINE Index index() const { return m_inner; } - inline Index row() const { return IsRowMajor ? m_outer : index(); } - inline Index col() const { return IsRowMajor ? index() : m_outer; } - - EIGEN_STRONG_INLINE operator bool() const { return m_inner < m_end && m_inner>=0; } - - protected: - const Derived& m_expression; - Index m_inner; - const Index m_outer; - const Index m_end; +protected: + typedef evaluator EvaluatorType; + typedef typename traits::Scalar Scalar; + enum { IsRowMajor = (XprType::Flags&RowMajorBit)==RowMajorBit }; + +public: + EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &innerSize) + : m_eval(eval), m_inner(0), m_outer(outerId), m_end(innerSize) + {} + + EIGEN_STRONG_INLINE Scalar value() const + { + return (IsRowMajor) ? m_eval.coeff(m_outer, m_inner) + : m_eval.coeff(m_inner, m_outer); + } + + EIGEN_STRONG_INLINE inner_iterator_selector& operator++() { m_inner++; return *this; } + + EIGEN_STRONG_INLINE Index index() const { return m_inner; } + inline Index row() const { return IsRowMajor ? m_outer : index(); } + inline Index col() const { return IsRowMajor ? index() : m_outer; } + + EIGEN_STRONG_INLINE operator bool() const { return m_inner < m_end && m_inner>=0; } + +protected: + const EvaluatorType& m_eval; + Index m_inner; + const Index m_outer; + const Index m_end; }; +// For iterator-based evaluator, inner-iterator is already implemented as +// evaluator<>::InnerIterator +template +class inner_iterator_selector + : public evaluator::InnerIterator +{ +protected: + typedef typename evaluator::InnerIterator Base; + typedef evaluator EvaluatorType; + +public: + EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &/*innerSize*/) + : Base(eval, outerId) + {} +}; + +} // end namespace internal + } // end namespace Eigen #endif // EIGEN_COREITERATORS_H diff --git a/nuparu/include/Eigen/src/Core/CwiseBinaryOp.h b/nuparu/include/Eigen/src/Core/CwiseBinaryOp.h index 586f77aa..e42c3031 100644 --- a/nuparu/include/Eigen/src/Core/CwiseBinaryOp.h +++ b/nuparu/include/Eigen/src/Core/CwiseBinaryOp.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2008-2009 Gael Guennebaud +// Copyright (C) 2008-2014 Gael Guennebaud // Copyright (C) 2006-2008 Benoit Jacob // // This Source Code Form is subject to the terms of the Mozilla @@ -56,72 +56,51 @@ struct traits > typename Rhs::Scalar ) >::type Scalar; - typedef typename promote_storage_type::StorageKind, - typename traits::StorageKind>::ret StorageKind; - typedef typename promote_index_type::Index, - typename traits::Index>::type Index; + typedef typename cwise_promote_storage_type::StorageKind, + typename traits::StorageKind, + BinaryOp>::ret StorageKind; + typedef typename promote_index_type::StorageIndex, + typename traits::StorageIndex>::type StorageIndex; typedef typename Lhs::Nested LhsNested; typedef typename Rhs::Nested RhsNested; typedef typename remove_reference::type _LhsNested; typedef typename remove_reference::type _RhsNested; enum { - LhsCoeffReadCost = _LhsNested::CoeffReadCost, - RhsCoeffReadCost = _RhsNested::CoeffReadCost, - LhsFlags = _LhsNested::Flags, - RhsFlags = _RhsNested::Flags, - SameType = is_same::value, - StorageOrdersAgree = (int(Lhs::Flags)&RowMajorBit)==(int(Rhs::Flags)&RowMajorBit), - Flags0 = (int(LhsFlags) | int(RhsFlags)) & ( - HereditaryBits - | (int(LhsFlags) & int(RhsFlags) & - ( AlignedBit - | (StorageOrdersAgree ? LinearAccessBit : 0) - | (functor_traits::PacketAccess && StorageOrdersAgree && SameType ? PacketAccessBit : 0) - ) - ) - ), - Flags = (Flags0 & ~RowMajorBit) | (LhsFlags & RowMajorBit), - CoeffReadCost = LhsCoeffReadCost + RhsCoeffReadCost + functor_traits::Cost + Flags = _LhsNested::Flags & RowMajorBit }; }; } // end namespace internal -// we require Lhs and Rhs to have the same scalar type. Currently there is no example of a binary functor -// that would take two operands of different types. If there were such an example, then this check should be -// moved to the BinaryOp functors, on a per-case basis. This would however require a change in the BinaryOp functors, as -// currently they take only one typename Scalar template parameter. -// It is tempting to always allow mixing different types but remember that this is often impossible in the vectorized paths. -// So allowing mixing different types gives very unexpected errors when enabling vectorization, when the user tries to -// add together a float matrix and a double matrix. -#define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP,LHS,RHS) \ - EIGEN_STATIC_ASSERT((internal::functor_is_product_like::ret \ - ? int(internal::scalar_product_traits::Defined) \ - : int(internal::is_same::value)), \ - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - template class CwiseBinaryOpImpl; -template -class CwiseBinaryOp : internal::no_assignment_operator, +template +class CwiseBinaryOp : public CwiseBinaryOpImpl< - BinaryOp, Lhs, Rhs, - typename internal::promote_storage_type::StorageKind, - typename internal::traits::StorageKind>::ret> + BinaryOp, LhsType, RhsType, + typename internal::cwise_promote_storage_type::StorageKind, + typename internal::traits::StorageKind, + BinaryOp>::ret>, + internal::no_assignment_operator { public: + + typedef typename internal::remove_all::type Lhs; + typedef typename internal::remove_all::type Rhs; typedef typename CwiseBinaryOpImpl< - BinaryOp, Lhs, Rhs, - typename internal::promote_storage_type::StorageKind, - typename internal::traits::StorageKind>::ret>::Base Base; + BinaryOp, LhsType, RhsType, + typename internal::cwise_promote_storage_type::StorageKind, + typename internal::traits::StorageKind, + BinaryOp>::ret>::Base Base; EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseBinaryOp) - typedef typename internal::nested::type LhsNested; - typedef typename internal::nested::type RhsNested; + typedef typename internal::ref_selector::type LhsNested; + typedef typename internal::ref_selector::type RhsNested; typedef typename internal::remove_reference::type _LhsNested; typedef typename internal::remove_reference::type _RhsNested; + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CwiseBinaryOp(const Lhs& aLhs, const Rhs& aRhs, const BinaryOp& func = BinaryOp()) : m_lhs(aLhs), m_rhs(aRhs), m_functor(func) { @@ -131,6 +110,7 @@ class CwiseBinaryOp : internal::no_assignment_operator, eigen_assert(aLhs.rows() == aRhs.rows() && aLhs.cols() == aRhs.cols()); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const { // return the fixed size type if available to enable compile time optimizations if (internal::traits::type>::RowsAtCompileTime==Dynamic) @@ -138,6 +118,7 @@ class CwiseBinaryOp : internal::no_assignment_operator, else return m_lhs.rows(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const { // return the fixed size type if available to enable compile time optimizations if (internal::traits::type>::ColsAtCompileTime==Dynamic) @@ -147,10 +128,13 @@ class CwiseBinaryOp : internal::no_assignment_operator, } /** \returns the left hand side nested expression */ + EIGEN_DEVICE_FUNC const _LhsNested& lhs() const { return m_lhs; } /** \returns the right hand side nested expression */ + EIGEN_DEVICE_FUNC const _RhsNested& rhs() const { return m_rhs; } /** \returns the functor representing the binary operation */ + EIGEN_DEVICE_FUNC const BinaryOp& functor() const { return m_functor; } protected: @@ -159,41 +143,13 @@ class CwiseBinaryOp : internal::no_assignment_operator, const BinaryOp m_functor; }; -template -class CwiseBinaryOpImpl - : public internal::dense_xpr_base >::type +// Generic API dispatcher +template +class CwiseBinaryOpImpl + : public internal::generic_xpr_base >::type { - typedef CwiseBinaryOp Derived; - public: - - typedef typename internal::dense_xpr_base >::type Base; - EIGEN_DENSE_PUBLIC_INTERFACE( Derived ) - - EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const - { - return derived().functor()(derived().lhs().coeff(rowId, colId), - derived().rhs().coeff(rowId, colId)); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const - { - return derived().functor().packetOp(derived().lhs().template packet(rowId, colId), - derived().rhs().template packet(rowId, colId)); - } - - EIGEN_STRONG_INLINE const Scalar coeff(Index index) const - { - return derived().functor()(derived().lhs().coeff(index), - derived().rhs().coeff(index)); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index index) const - { - return derived().functor().packetOp(derived().lhs().template packet(index), - derived().rhs().template packet(index)); - } +public: + typedef typename internal::generic_xpr_base >::type Base; }; /** replaces \c *this by \c *this - \a other. @@ -205,8 +161,7 @@ template EIGEN_STRONG_INLINE Derived & MatrixBase::operator-=(const MatrixBase &other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::sub_assign_op()); return derived(); } @@ -219,11 +174,11 @@ template EIGEN_STRONG_INLINE Derived & MatrixBase::operator+=(const MatrixBase& other) { - SelfCwiseBinaryOp, Derived, OtherDerived> tmp(derived()); - tmp = other.derived(); + call_assignment(derived(), other.derived(), internal::add_assign_op()); return derived(); } } // end namespace Eigen #endif // EIGEN_CWISE_BINARY_OP_H + diff --git a/nuparu/include/Eigen/src/Core/CwiseNullaryOp.h b/nuparu/include/Eigen/src/Core/CwiseNullaryOp.h index a93bab2d..2bc6933d 100644 --- a/nuparu/include/Eigen/src/Core/CwiseNullaryOp.h +++ b/nuparu/include/Eigen/src/Core/CwiseNullaryOp.h @@ -35,37 +35,35 @@ template struct traits > : traits { enum { - Flags = (traits::Flags - & ( HereditaryBits - | (functor_has_linear_access::ret ? LinearAccessBit : 0) - | (functor_traits::PacketAccess ? PacketAccessBit : 0))) - | (functor_traits::IsRepeatable ? 0 : EvalBeforeNestingBit), - CoeffReadCost = functor_traits::Cost + Flags = traits::Flags & RowMajorBit }; }; } template -class CwiseNullaryOp : internal::no_assignment_operator, - public internal::dense_xpr_base< CwiseNullaryOp >::type +class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp >::type, internal::no_assignment_operator { public: typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(CwiseNullaryOp) - CwiseNullaryOp(Index nbRows, Index nbCols, const NullaryOp& func = NullaryOp()) - : m_rows(nbRows), m_cols(nbCols), m_functor(func) + EIGEN_DEVICE_FUNC + CwiseNullaryOp(Index rows, Index cols, const NullaryOp& func = NullaryOp()) + : m_rows(rows), m_cols(cols), m_functor(func) { - eigen_assert(nbRows >= 0 - && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == nbRows) - && nbCols >= 0 - && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == nbCols)); + eigen_assert(rows >= 0 + && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == rows) + && cols >= 0 + && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == cols)); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const { return m_rows.value(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const { return m_cols.value(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const { return m_functor(rowId, colId); @@ -77,6 +75,7 @@ class CwiseNullaryOp : internal::no_assignment_operator, return m_functor.packetOp(rowId, colId); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index index) const { return m_functor(index); @@ -89,6 +88,7 @@ class CwiseNullaryOp : internal::no_assignment_operator, } /** \returns the functor representing the nullary operation */ + EIGEN_DEVICE_FUNC const NullaryOp& functor() const { return m_functor; } protected: @@ -113,10 +113,10 @@ class CwiseNullaryOp : internal::no_assignment_operator, */ template template -EIGEN_STRONG_INLINE const CwiseNullaryOp +EIGEN_STRONG_INLINE const CwiseNullaryOp::PlainObject> DenseBase::NullaryExpr(Index rows, Index cols, const CustomNullaryOp& func) { - return CwiseNullaryOp(rows, cols, func); + return CwiseNullaryOp(rows, cols, func); } /** \returns an expression of a matrix defined by a custom functor \a func @@ -132,16 +132,19 @@ DenseBase::NullaryExpr(Index rows, Index cols, const CustomNullaryOp& f * * The template parameter \a CustomNullaryOp is the type of the functor. * + * Here is an example with C++11 random generators: \include random_cpp11.cpp + * Output: \verbinclude random_cpp11.out + * * \sa class CwiseNullaryOp */ template template -EIGEN_STRONG_INLINE const CwiseNullaryOp +EIGEN_STRONG_INLINE const CwiseNullaryOp::PlainObject> DenseBase::NullaryExpr(Index size, const CustomNullaryOp& func) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - if(RowsAtCompileTime == 1) return CwiseNullaryOp(1, size, func); - else return CwiseNullaryOp(size, 1, func); + if(RowsAtCompileTime == 1) return CwiseNullaryOp(1, size, func); + else return CwiseNullaryOp(size, 1, func); } /** \returns an expression of a matrix defined by a custom functor \a func @@ -155,19 +158,19 @@ DenseBase::NullaryExpr(Index size, const CustomNullaryOp& func) */ template template -EIGEN_STRONG_INLINE const CwiseNullaryOp +EIGEN_STRONG_INLINE const CwiseNullaryOp::PlainObject> DenseBase::NullaryExpr(const CustomNullaryOp& func) { - return CwiseNullaryOp(RowsAtCompileTime, ColsAtCompileTime, func); + return CwiseNullaryOp(RowsAtCompileTime, ColsAtCompileTime, func); } /** \returns an expression of a constant matrix of value \a value * - * The parameters \a nbRows and \a nbCols are the number of rows and of columns of + * The parameters \a rows and \a cols are the number of rows and of columns of * the returned matrix. Must be compatible with this DenseBase type. * * This variant is meant to be used for dynamic-size matrix types. For fixed-size types, - * it is redundant to pass \a nbRows and \a nbCols as arguments, so Zero() should be used + * it is redundant to pass \a rows and \a cols as arguments, so Zero() should be used * instead. * * The template parameter \a CustomNullaryOp is the type of the functor. @@ -176,9 +179,9 @@ DenseBase::NullaryExpr(const CustomNullaryOp& func) */ template EIGEN_STRONG_INLINE const typename DenseBase::ConstantReturnType -DenseBase::Constant(Index nbRows, Index nbCols, const Scalar& value) +DenseBase::Constant(Index rows, Index cols, const Scalar& value) { - return DenseBase::NullaryExpr(nbRows, nbCols, internal::scalar_constant_op(value)); + return DenseBase::NullaryExpr(rows, cols, internal::scalar_constant_op(value)); } /** \returns an expression of a constant matrix of value \a value @@ -242,7 +245,7 @@ EIGEN_STRONG_INLINE const typename DenseBase::SequentialLinSpacedReturn DenseBase::LinSpaced(Sequential_t, Index size, const Scalar& low, const Scalar& high) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return DenseBase::NullaryExpr(size, internal::linspaced_op(low,high,size)); + return DenseBase::NullaryExpr(size, internal::linspaced_op(low,high,size)); } /** @@ -255,7 +258,7 @@ DenseBase::LinSpaced(Sequential_t, const Scalar& low, const Scalar& hig { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) - return DenseBase::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op(low,high,Derived::SizeAtCompileTime)); + return DenseBase::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op(low,high,Derived::SizeAtCompileTime)); } /** @@ -276,7 +279,7 @@ EIGEN_STRONG_INLINE const typename DenseBase::RandomAccessLinSpacedRetu DenseBase::LinSpaced(Index size, const Scalar& low, const Scalar& high) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return DenseBase::NullaryExpr(size, internal::linspaced_op(low,high,size)); + return DenseBase::NullaryExpr(size, internal::linspaced_op(low,high,size)); } /** @@ -289,7 +292,7 @@ DenseBase::LinSpaced(const Scalar& low, const Scalar& high) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) - return DenseBase::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op(low,high,Derived::SizeAtCompileTime)); + return DenseBase::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op(low,high,Derived::SizeAtCompileTime)); } /** \returns true if all coefficients in this matrix are approximately equal to \a val, to within precision \a prec */ @@ -297,9 +300,10 @@ template bool DenseBase::isApproxToConstant (const Scalar& val, const RealScalar& prec) const { + typename internal::nested_eval::type self(derived()); for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) - if(!internal::isApprox(this->coeff(i, j), val, prec)) + if(!internal::isApprox(self.coeff(i, j), val, prec)) return false; return true; } @@ -353,8 +357,8 @@ PlainObjectBase::setConstant(Index size, const Scalar& val) /** Resizes to the given size, and sets all coefficients in this expression to the given \a value. * - * \param nbRows the new number of rows - * \param nbCols the new number of columns + * \param rows the new number of rows + * \param cols the new number of columns * \param val the value to which all coefficients are set * * Example: \include Matrix_setConstant_int_int.cpp @@ -364,9 +368,9 @@ PlainObjectBase::setConstant(Index size, const Scalar& val) */ template EIGEN_STRONG_INLINE Derived& -PlainObjectBase::setConstant(Index nbRows, Index nbCols, const Scalar& val) +PlainObjectBase::setConstant(Index rows, Index cols, const Scalar& val) { - resize(nbRows, nbCols); + resize(rows, cols); return setConstant(val); } @@ -387,7 +391,7 @@ template EIGEN_STRONG_INLINE Derived& DenseBase::setLinSpaced(Index newSize, const Scalar& low, const Scalar& high) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return derived() = Derived::NullaryExpr(newSize, internal::linspaced_op(low,high,newSize)); + return derived() = Derived::NullaryExpr(newSize, internal::linspaced_op(low,high,newSize)); } /** @@ -425,9 +429,9 @@ EIGEN_STRONG_INLINE Derived& DenseBase::setLinSpaced(const Scalar& low, */ template EIGEN_STRONG_INLINE const typename DenseBase::ConstantReturnType -DenseBase::Zero(Index nbRows, Index nbCols) +DenseBase::Zero(Index rows, Index cols) { - return Constant(nbRows, nbCols, Scalar(0)); + return Constant(rows, cols, Scalar(0)); } /** \returns an expression of a zero vector. @@ -481,9 +485,10 @@ DenseBase::Zero() template bool DenseBase::isZero(const RealScalar& prec) const { + typename internal::nested_eval::type self(derived()); for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) - if(!internal::isMuchSmallerThan(this->coeff(i, j), static_cast(1), prec)) + if(!internal::isMuchSmallerThan(self.coeff(i, j), static_cast(1), prec)) return false; return true; } @@ -520,8 +525,8 @@ PlainObjectBase::setZero(Index newSize) /** Resizes to the given size, and sets all coefficients in this expression to zero. * - * \param nbRows the new number of rows - * \param nbCols the new number of columns + * \param rows the new number of rows + * \param cols the new number of columns * * Example: \include Matrix_setZero_int_int.cpp * Output: \verbinclude Matrix_setZero_int_int.out @@ -530,9 +535,9 @@ PlainObjectBase::setZero(Index newSize) */ template EIGEN_STRONG_INLINE Derived& -PlainObjectBase::setZero(Index nbRows, Index nbCols) +PlainObjectBase::setZero(Index rows, Index cols) { - resize(nbRows, nbCols); + resize(rows, cols); return setConstant(Scalar(0)); } @@ -540,7 +545,7 @@ PlainObjectBase::setZero(Index nbRows, Index nbCols) /** \returns an expression of a matrix where all coefficients equal one. * - * The parameters \a nbRows and \a nbCols are the number of rows and of columns of + * The parameters \a rows and \a cols are the number of rows and of columns of * the returned matrix. Must be compatible with this MatrixBase type. * * This variant is meant to be used for dynamic-size matrix types. For fixed-size types, @@ -554,9 +559,9 @@ PlainObjectBase::setZero(Index nbRows, Index nbCols) */ template EIGEN_STRONG_INLINE const typename DenseBase::ConstantReturnType -DenseBase::Ones(Index nbRows, Index nbCols) +DenseBase::Ones(Index rows, Index cols) { - return Constant(nbRows, nbCols, Scalar(1)); + return Constant(rows, cols, Scalar(1)); } /** \returns an expression of a vector where all coefficients equal one. @@ -646,8 +651,8 @@ PlainObjectBase::setOnes(Index newSize) /** Resizes to the given size, and sets all coefficients in this expression to one. * - * \param nbRows the new number of rows - * \param nbCols the new number of columns + * \param rows the new number of rows + * \param cols the new number of columns * * Example: \include Matrix_setOnes_int_int.cpp * Output: \verbinclude Matrix_setOnes_int_int.out @@ -656,9 +661,9 @@ PlainObjectBase::setOnes(Index newSize) */ template EIGEN_STRONG_INLINE Derived& -PlainObjectBase::setOnes(Index nbRows, Index nbCols) +PlainObjectBase::setOnes(Index rows, Index cols) { - resize(nbRows, nbCols); + resize(rows, cols); return setConstant(Scalar(1)); } @@ -666,7 +671,7 @@ PlainObjectBase::setOnes(Index nbRows, Index nbCols) /** \returns an expression of the identity matrix (not necessarily square). * - * The parameters \a nbRows and \a nbCols are the number of rows and of columns of + * The parameters \a rows and \a cols are the number of rows and of columns of * the returned matrix. Must be compatible with this MatrixBase type. * * This variant is meant to be used for dynamic-size matrix types. For fixed-size types, @@ -680,9 +685,9 @@ PlainObjectBase::setOnes(Index nbRows, Index nbCols) */ template EIGEN_STRONG_INLINE const typename MatrixBase::IdentityReturnType -MatrixBase::Identity(Index nbRows, Index nbCols) +MatrixBase::Identity(Index rows, Index cols) { - return DenseBase::NullaryExpr(nbRows, nbCols, internal::scalar_identity_op()); + return DenseBase::NullaryExpr(rows, cols, internal::scalar_identity_op()); } /** \returns an expression of the identity matrix (not necessarily square). @@ -716,18 +721,19 @@ template bool MatrixBase::isIdentity (const RealScalar& prec) const { + typename internal::nested_eval::type self(derived()); for(Index j = 0; j < cols(); ++j) { for(Index i = 0; i < rows(); ++i) { if(i == j) { - if(!internal::isApprox(this->coeff(i, j), static_cast(1), prec)) + if(!internal::isApprox(self.coeff(i, j), static_cast(1), prec)) return false; } else { - if(!internal::isMuchSmallerThan(this->coeff(i, j), static_cast(1), prec)) + if(!internal::isMuchSmallerThan(self.coeff(i, j), static_cast(1), prec)) return false; } } @@ -740,6 +746,7 @@ namespace internal { template=16)> struct setIdentity_impl { + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Derived& run(Derived& m) { return m = Derived::Identity(m.rows(), m.cols()); @@ -749,7 +756,7 @@ struct setIdentity_impl template struct setIdentity_impl { - typedef typename Derived::Index Index; + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Derived& run(Derived& m) { m.setZero(); @@ -776,8 +783,8 @@ EIGEN_STRONG_INLINE Derived& MatrixBase::setIdentity() /** \brief Resizes to the given size, and writes the identity expression (not necessarily square) into *this. * - * \param nbRows the new number of rows - * \param nbCols the new number of columns + * \param rows the new number of rows + * \param cols the new number of columns * * Example: \include Matrix_setIdentity_int_int.cpp * Output: \verbinclude Matrix_setIdentity_int_int.out @@ -785,9 +792,9 @@ EIGEN_STRONG_INLINE Derived& MatrixBase::setIdentity() * \sa MatrixBase::setIdentity(), class CwiseNullaryOp, MatrixBase::Identity() */ template -EIGEN_STRONG_INLINE Derived& MatrixBase::setIdentity(Index nbRows, Index nbCols) +EIGEN_STRONG_INLINE Derived& MatrixBase::setIdentity(Index rows, Index cols) { - derived().resize(nbRows, nbCols); + derived().resize(rows, cols); return setIdentity(); } diff --git a/nuparu/include/Eigen/src/Core/CwiseUnaryOp.h b/nuparu/include/Eigen/src/Core/CwiseUnaryOp.h index f2de749f..da1d1992 100644 --- a/nuparu/include/Eigen/src/Core/CwiseUnaryOp.h +++ b/nuparu/include/Eigen/src/Core/CwiseUnaryOp.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2008-2010 Gael Guennebaud +// Copyright (C) 2008-2014 Gael Guennebaud // Copyright (C) 2006-2008 Benoit Jacob // // This Source Code Form is subject to the terms of the Mozilla @@ -44,10 +44,7 @@ struct traits > typedef typename XprType::Nested XprTypeNested; typedef typename remove_reference::type _XprTypeNested; enum { - Flags = _XprTypeNested::Flags & ( - HereditaryBits | LinearAccessBit | AlignedBit - | (functor_traits::PacketAccess ? PacketAccessBit : 0)), - CoeffReadCost = _XprTypeNested::CoeffReadCost + functor_traits::Cost + Flags = _XprTypeNested::Flags & RowMajorBit }; }; } @@ -56,28 +53,34 @@ template class CwiseUnaryOpImpl; template -class CwiseUnaryOp : internal::no_assignment_operator, - public CwiseUnaryOpImpl::StorageKind> +class CwiseUnaryOp : public CwiseUnaryOpImpl::StorageKind>, internal::no_assignment_operator { public: typedef typename CwiseUnaryOpImpl::StorageKind>::Base Base; EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryOp) + typedef typename internal::remove_all::type NestedExpression; - inline CwiseUnaryOp(const XprType& xpr, const UnaryOp& func = UnaryOp()) + EIGEN_DEVICE_FUNC + explicit inline CwiseUnaryOp(const XprType& xpr, const UnaryOp& func = UnaryOp()) : m_xpr(xpr), m_functor(func) {} + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const { return m_xpr.rows(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const { return m_xpr.cols(); } /** \returns the functor representing the unary operation */ + EIGEN_DEVICE_FUNC const UnaryOp& functor() const { return m_functor; } /** \returns the nested expression */ + EIGEN_DEVICE_FUNC const typename internal::remove_all::type& nestedExpression() const { return m_xpr; } /** \returns the nested expression */ + EIGEN_DEVICE_FUNC typename internal::remove_all::type& nestedExpression() { return m_xpr.const_cast_derived(); } @@ -86,39 +89,13 @@ class CwiseUnaryOp : internal::no_assignment_operator, const UnaryOp m_functor; }; -// This is the generic implementation for dense storage. -// It can be used for any expression types implementing the dense concept. -template -class CwiseUnaryOpImpl - : public internal::dense_xpr_base >::type +// Generic API dispatcher +template +class CwiseUnaryOpImpl + : public internal::generic_xpr_base >::type { - public: - - typedef CwiseUnaryOp Derived; - typedef typename internal::dense_xpr_base >::type Base; - EIGEN_DENSE_PUBLIC_INTERFACE(Derived) - - EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const - { - return derived().functor()(derived().nestedExpression().coeff(rowId, colId)); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const - { - return derived().functor().packetOp(derived().nestedExpression().template packet(rowId, colId)); - } - - EIGEN_STRONG_INLINE const Scalar coeff(Index index) const - { - return derived().functor()(derived().nestedExpression().coeff(index)); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index index) const - { - return derived().functor().packetOp(derived().nestedExpression().template packet(index)); - } +public: + typedef typename internal::generic_xpr_base >::type Base; }; } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/CwiseUnaryView.h b/nuparu/include/Eigen/src/Core/CwiseUnaryView.h index b2638d32..72244751 100644 --- a/nuparu/include/Eigen/src/Core/CwiseUnaryView.h +++ b/nuparu/include/Eigen/src/Core/CwiseUnaryView.h @@ -37,8 +37,8 @@ struct traits > typedef typename MatrixType::Nested MatrixTypeNested; typedef typename remove_all::type _MatrixTypeNested; enum { - Flags = (traits<_MatrixTypeNested>::Flags & (HereditaryBits | LvalueBit | LinearAccessBit | DirectAccessBit)), - CoeffReadCost = traits<_MatrixTypeNested>::CoeffReadCost + functor_traits::Cost, + FlagsLvalueBit = is_lvalue::value ? LvalueBit : 0, + Flags = traits<_MatrixTypeNested>::Flags & (RowMajorBit | FlagsLvalueBit | DirectAccessBit), // FIXME DirectAccessBit should not be handled by expressions MatrixTypeInnerStride = inner_stride_at_compile_time::ret, // need to cast the sizeof's from size_t to int explicitly, otherwise: // "error: no integral type can represent all of the enumerator values @@ -62,8 +62,9 @@ class CwiseUnaryView : public CwiseUnaryViewImpl::StorageKind>::Base Base; EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryView) + typedef typename internal::remove_all::type NestedExpression; - inline CwiseUnaryView(const MatrixType& mat, const ViewOp& func = ViewOp()) + explicit inline CwiseUnaryView(MatrixType& mat, const ViewOp& func = ViewOp()) : m_matrix(mat), m_functor(func) {} EIGEN_INHERIT_ASSIGNMENT_OPERATORS(CwiseUnaryView) @@ -83,11 +84,19 @@ class CwiseUnaryView : public CwiseUnaryViewImpl::type m_matrix; + typename internal::ref_selector::type m_matrix; ViewOp m_functor; }; +// Generic API dispatcher +template +class CwiseUnaryViewImpl + : public internal::generic_xpr_base >::type +{ +public: + typedef typename internal::generic_xpr_base >::type Base; +}; + template class CwiseUnaryViewImpl : public internal::dense_xpr_base< CwiseUnaryView >::type @@ -100,38 +109,18 @@ class CwiseUnaryViewImpl EIGEN_DENSE_PUBLIC_INTERFACE(Derived) EIGEN_INHERIT_ASSIGNMENT_OPERATORS(CwiseUnaryViewImpl) - inline Scalar* data() { return &coeffRef(0); } - inline const Scalar* data() const { return &coeff(0); } + EIGEN_DEVICE_FUNC inline Scalar* data() { return &(this->coeffRef(0)); } + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return &(this->coeff(0)); } - inline Index innerStride() const + EIGEN_DEVICE_FUNC inline Index innerStride() const { return derived().nestedExpression().innerStride() * sizeof(typename internal::traits::Scalar) / sizeof(Scalar); } - inline Index outerStride() const + EIGEN_DEVICE_FUNC inline Index outerStride() const { return derived().nestedExpression().outerStride() * sizeof(typename internal::traits::Scalar) / sizeof(Scalar); } - - EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const - { - return derived().functor()(derived().nestedExpression().coeff(row, col)); - } - - EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const - { - return derived().functor()(derived().nestedExpression().coeff(index)); - } - - EIGEN_STRONG_INLINE Scalar& coeffRef(Index row, Index col) - { - return derived().functor()(const_cast_derived().nestedExpression().coeffRef(row, col)); - } - - EIGEN_STRONG_INLINE Scalar& coeffRef(Index index) - { - return derived().functor()(const_cast_derived().nestedExpression().coeffRef(index)); - } }; } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/DenseBase.h b/nuparu/include/Eigen/src/Core/DenseBase.h index c5800f6c..e181dafa 100644 --- a/nuparu/include/Eigen/src/Core/DenseBase.h +++ b/nuparu/include/Eigen/src/Core/DenseBase.h @@ -40,31 +40,43 @@ static inline void check_DenseIndex_is_signed() { */ template class DenseBase #ifndef EIGEN_PARSED_BY_DOXYGEN - : public internal::special_scalar_op_base::Scalar, - typename NumTraits::Scalar>::Real> + : public internal::special_scalar_op_base::Scalar, + typename NumTraits::Scalar>::Real, + DenseCoeffsBase > #else : public DenseCoeffsBase #endif // not EIGEN_PARSED_BY_DOXYGEN { public: - using internal::special_scalar_op_base::Scalar, - typename NumTraits::Scalar>::Real>::operator*; - class InnerIterator; + /** Inner iterator type to iterate over the coefficients of a row or column. + * \sa class InnerIterator + */ + typedef Eigen::InnerIterator InnerIterator; typedef typename internal::traits::StorageKind StorageKind; - /** \brief The type of indices - * \details To change this, \c \#define the preprocessor symbol \c EIGEN_DEFAULT_DENSE_INDEX_TYPE. - * \sa \ref TopicPreprocessorDirectives. - */ - typedef typename internal::traits::Index Index; + /** + * \brief The type used to store indices + * \details This typedef is relevant for types that store multiple indices such as + * PermutationMatrix or Transpositions, otherwise it defaults to Eigen::Index + * \sa \ref TopicPreprocessorDirectives, Eigen::Index, SparseMatrixBase. + */ + typedef typename internal::traits::StorageIndex StorageIndex; + /** The numeric type of the expression' coefficients, e.g. float, double, int or std::complex, etc. */ typedef typename internal::traits::Scalar Scalar; - typedef typename internal::packet_traits::type PacketScalar; + + /** The numeric type of the expression' coefficients, e.g. float, double, int or std::complex, etc. + * + * It is an alias for the Scalar type */ + typedef Scalar value_type; + typedef typename NumTraits::Real RealScalar; + typedef internal::special_scalar_op_base > Base; - typedef DenseCoeffsBase Base; + using Base::operator*; + using Base::operator/; using Base::derived; using Base::const_cast_derived; using Base::rows; @@ -74,16 +86,6 @@ template class DenseBase using Base::colIndexByOuterInner; using Base::coeff; using Base::coeffByOuterInner; - using Base::packet; - using Base::packetByOuterInner; - using Base::writePacket; - using Base::writePacketByOuterInner; - using Base::coeffRef; - using Base::coeffRefByOuterInner; - using Base::copyCoeff; - using Base::copyCoeffByOuterInner; - using Base::copyPacket; - using Base::copyPacketByOuterInner; using Base::operator(); using Base::operator[]; using Base::x; @@ -169,30 +171,54 @@ template class DenseBase InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime) : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime), - CoeffReadCost = internal::traits::CoeffReadCost, - /**< This is a rough measure of how expensive it is to read one coefficient from - * this expression. - */ - InnerStrideAtCompileTime = internal::inner_stride_at_compile_time::ret, OuterStrideAtCompileTime = internal::outer_stride_at_compile_time::ret }; + + typedef typename internal::find_best_packet::type PacketScalar; - enum { ThisConstantIsPrivateInPlainObjectBase }; + enum { IsPlainObjectBase = 0 }; + + /** The plain matrix type corresponding to this expression. + * \sa PlainObject */ + typedef Matrix::Scalar, + internal::traits::RowsAtCompileTime, + internal::traits::ColsAtCompileTime, + AutoAlign | (internal::traits::Flags&RowMajorBit ? RowMajor : ColMajor), + internal::traits::MaxRowsAtCompileTime, + internal::traits::MaxColsAtCompileTime + > PlainMatrix; + + /** The plain array type corresponding to this expression. + * \sa PlainObject */ + typedef Array::Scalar, + internal::traits::RowsAtCompileTime, + internal::traits::ColsAtCompileTime, + AutoAlign | (internal::traits::Flags&RowMajorBit ? RowMajor : ColMajor), + internal::traits::MaxRowsAtCompileTime, + internal::traits::MaxColsAtCompileTime + > PlainArray; + + /** \brief The plain matrix or array type corresponding to this expression. + * + * This is not necessarily exactly the return type of eval(). In the case of plain matrices, + * the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed + * that the return type of eval() is either PlainObject or const PlainObject&. + */ + typedef typename internal::conditional::XprKind,MatrixXpr >::value, + PlainMatrix, PlainArray>::type PlainObject; /** \returns the number of nonzero coefficients which is in practice the number * of stored coefficients. */ + EIGEN_DEVICE_FUNC inline Index nonZeros() const { return size(); } - /** \returns true if either the number of rows or the number of columns is equal to 1. - * In other words, this function returns - * \code rows()==1 || cols()==1 \endcode - * \sa rows(), cols(), IsVectorAtCompileTime. */ /** \returns the outer size. * * \note For a vector, this returns just 1. For a matrix (non-vector), this is the major dimension * with respect to the \ref TopicStorageOrders "storage order", i.e., the number of columns for a * column-major matrix, and the number of rows for a row-major matrix. */ + EIGEN_DEVICE_FUNC Index outerSize() const { return IsVectorAtCompileTime ? 1 @@ -204,6 +230,7 @@ template class DenseBase * \note For a vector, this is just the size. For a matrix (non-vector), this is the minor dimension * with respect to the \ref TopicStorageOrders "storage order", i.e., the number of rows for a * column-major matrix, and the number of columns for a row-major matrix. */ + EIGEN_DEVICE_FUNC Index innerSize() const { return IsVectorAtCompileTime ? this->size() @@ -214,6 +241,7 @@ template class DenseBase * Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does * nothing else. */ + EIGEN_DEVICE_FUNC void resize(Index newSize) { EIGEN_ONLY_USED_FOR_DEBUG(newSize); @@ -224,22 +252,22 @@ template class DenseBase * Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does * nothing else. */ - void resize(Index nbRows, Index nbCols) + EIGEN_DEVICE_FUNC + void resize(Index rows, Index cols) { - EIGEN_ONLY_USED_FOR_DEBUG(nbRows); - EIGEN_ONLY_USED_FOR_DEBUG(nbCols); - eigen_assert(nbRows == this->rows() && nbCols == this->cols() + EIGEN_ONLY_USED_FOR_DEBUG(rows); + EIGEN_ONLY_USED_FOR_DEBUG(cols); + eigen_assert(rows == this->rows() && cols == this->cols() && "DenseBase::resize() does not actually allow to resize."); } #ifndef EIGEN_PARSED_BY_DOXYGEN - /** \internal Represents a matrix with all coefficients equal to one another*/ - typedef CwiseNullaryOp,Derived> ConstantReturnType; + typedef CwiseNullaryOp,PlainObject> ConstantReturnType; /** \internal Represents a vector with linearly spaced coefficients that allows sequential access only. */ - typedef CwiseNullaryOp,Derived> SequentialLinSpacedReturnType; + typedef CwiseNullaryOp,PlainObject> SequentialLinSpacedReturnType; /** \internal Represents a vector with linearly spaced coefficients that allows random access. */ - typedef CwiseNullaryOp,Derived> RandomAccessLinSpacedReturnType; + typedef CwiseNullaryOp,PlainObject> RandomAccessLinSpacedReturnType; /** \internal the return type of MatrixBase::eigenvalues() */ typedef Matrix::Scalar>::Real, internal::traits::ColsAtCompileTime, 1> EigenvaluesReturnType; @@ -247,110 +275,122 @@ template class DenseBase /** Copies \a other into *this. \returns a reference to *this. */ template + EIGEN_DEVICE_FUNC Derived& operator=(const DenseBase& other); /** Special case of the template operator=, in order to prevent the compiler * from generating a default operator= (issue hit with g++ 4.1) */ + EIGEN_DEVICE_FUNC Derived& operator=(const DenseBase& other); template + EIGEN_DEVICE_FUNC Derived& operator=(const EigenBase &other); template + EIGEN_DEVICE_FUNC Derived& operator+=(const EigenBase &other); template + EIGEN_DEVICE_FUNC Derived& operator-=(const EigenBase &other); template + EIGEN_DEVICE_FUNC Derived& operator=(const ReturnByValue& func); -#ifndef EIGEN_PARSED_BY_DOXYGEN - /** Copies \a other into *this without evaluating other. \returns a reference to *this. */ + /** \ínternal + * Copies \a other into *this without evaluating other. \returns a reference to *this. + * \deprecated */ template + EIGEN_DEVICE_FUNC Derived& lazyAssign(const DenseBase& other); -#endif // not EIGEN_PARSED_BY_DOXYGEN + EIGEN_DEVICE_FUNC CommaInitializer operator<< (const Scalar& s); + /** \deprecated it now returns \c *this */ template - const Flagged flagged() const; + EIGEN_DEPRECATED + const Derived& flagged() const + { return derived(); } template + EIGEN_DEVICE_FUNC CommaInitializer operator<< (const DenseBase& other); - Eigen::Transpose transpose(); - typedef typename internal::add_const >::type ConstTransposeReturnType; + typedef Transpose TransposeReturnType; + EIGEN_DEVICE_FUNC + TransposeReturnType transpose(); + typedef typename internal::add_const >::type ConstTransposeReturnType; + EIGEN_DEVICE_FUNC ConstTransposeReturnType transpose() const; + EIGEN_DEVICE_FUNC void transposeInPlace(); -#ifndef EIGEN_NO_DEBUG - protected: - template - void checkTransposeAliasing(const OtherDerived& other) const; - public: -#endif - - static const ConstantReturnType + EIGEN_DEVICE_FUNC static const ConstantReturnType Constant(Index rows, Index cols, const Scalar& value); - static const ConstantReturnType + EIGEN_DEVICE_FUNC static const ConstantReturnType Constant(Index size, const Scalar& value); - static const ConstantReturnType + EIGEN_DEVICE_FUNC static const ConstantReturnType Constant(const Scalar& value); - static const SequentialLinSpacedReturnType + EIGEN_DEVICE_FUNC static const SequentialLinSpacedReturnType LinSpaced(Sequential_t, Index size, const Scalar& low, const Scalar& high); - static const RandomAccessLinSpacedReturnType + EIGEN_DEVICE_FUNC static const RandomAccessLinSpacedReturnType LinSpaced(Index size, const Scalar& low, const Scalar& high); - static const SequentialLinSpacedReturnType + EIGEN_DEVICE_FUNC static const SequentialLinSpacedReturnType LinSpaced(Sequential_t, const Scalar& low, const Scalar& high); - static const RandomAccessLinSpacedReturnType + EIGEN_DEVICE_FUNC static const RandomAccessLinSpacedReturnType LinSpaced(const Scalar& low, const Scalar& high); - template - static const CwiseNullaryOp + template EIGEN_DEVICE_FUNC + static const CwiseNullaryOp NullaryExpr(Index rows, Index cols, const CustomNullaryOp& func); - template - static const CwiseNullaryOp + template EIGEN_DEVICE_FUNC + static const CwiseNullaryOp NullaryExpr(Index size, const CustomNullaryOp& func); - template - static const CwiseNullaryOp + template EIGEN_DEVICE_FUNC + static const CwiseNullaryOp NullaryExpr(const CustomNullaryOp& func); - static const ConstantReturnType Zero(Index rows, Index cols); - static const ConstantReturnType Zero(Index size); - static const ConstantReturnType Zero(); - static const ConstantReturnType Ones(Index rows, Index cols); - static const ConstantReturnType Ones(Index size); - static const ConstantReturnType Ones(); - - void fill(const Scalar& value); - Derived& setConstant(const Scalar& value); - Derived& setLinSpaced(Index size, const Scalar& low, const Scalar& high); - Derived& setLinSpaced(const Scalar& low, const Scalar& high); - Derived& setZero(); - Derived& setOnes(); - Derived& setRandom(); - - template + EIGEN_DEVICE_FUNC static const ConstantReturnType Zero(Index rows, Index cols); + EIGEN_DEVICE_FUNC static const ConstantReturnType Zero(Index size); + EIGEN_DEVICE_FUNC static const ConstantReturnType Zero(); + EIGEN_DEVICE_FUNC static const ConstantReturnType Ones(Index rows, Index cols); + EIGEN_DEVICE_FUNC static const ConstantReturnType Ones(Index size); + EIGEN_DEVICE_FUNC static const ConstantReturnType Ones(); + + EIGEN_DEVICE_FUNC void fill(const Scalar& value); + EIGEN_DEVICE_FUNC Derived& setConstant(const Scalar& value); + EIGEN_DEVICE_FUNC Derived& setLinSpaced(Index size, const Scalar& low, const Scalar& high); + EIGEN_DEVICE_FUNC Derived& setLinSpaced(const Scalar& low, const Scalar& high); + EIGEN_DEVICE_FUNC Derived& setZero(); + EIGEN_DEVICE_FUNC Derived& setOnes(); + EIGEN_DEVICE_FUNC Derived& setRandom(); + + template EIGEN_DEVICE_FUNC bool isApprox(const DenseBase& other, const RealScalar& prec = NumTraits::dummy_precision()) const; + EIGEN_DEVICE_FUNC bool isMuchSmallerThan(const RealScalar& other, const RealScalar& prec = NumTraits::dummy_precision()) const; - template + template EIGEN_DEVICE_FUNC bool isMuchSmallerThan(const DenseBase& other, const RealScalar& prec = NumTraits::dummy_precision()) const; - bool isApproxToConstant(const Scalar& value, const RealScalar& prec = NumTraits::dummy_precision()) const; - bool isConstant(const Scalar& value, const RealScalar& prec = NumTraits::dummy_precision()) const; - bool isZero(const RealScalar& prec = NumTraits::dummy_precision()) const; - bool isOnes(const RealScalar& prec = NumTraits::dummy_precision()) const; + EIGEN_DEVICE_FUNC bool isApproxToConstant(const Scalar& value, const RealScalar& prec = NumTraits::dummy_precision()) const; + EIGEN_DEVICE_FUNC bool isConstant(const Scalar& value, const RealScalar& prec = NumTraits::dummy_precision()) const; + EIGEN_DEVICE_FUNC bool isZero(const RealScalar& prec = NumTraits::dummy_precision()) const; + EIGEN_DEVICE_FUNC bool isOnes(const RealScalar& prec = NumTraits::dummy_precision()) const; inline bool hasNaN() const; inline bool allFinite() const; + EIGEN_DEVICE_FUNC inline Derived& operator*=(const Scalar& other); + EIGEN_DEVICE_FUNC inline Derived& operator/=(const Scalar& other); typedef typename internal::add_const_on_value_type::type>::type EvalReturnType; @@ -358,7 +398,10 @@ template class DenseBase * * Notice that in the case of a plain matrix or vector (not an expression) this function just returns * a const reference, in order to avoid a useless copy. + * + * \warning Be carefull with eval() and the auto C++ keyword, as detailed in this \link TopicPitfalls_auto_keyword page \endlink. */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType eval() const { // Even though MSVC does not honor strong inlining when the return type @@ -366,61 +409,68 @@ template class DenseBase // size types on MSVC. return typename internal::eval::type(derived()); } - + /** swaps *this with the expression \a other. * */ template - void swap(const DenseBase& other, - int = OtherDerived::ThisConstantIsPrivateInPlainObjectBase) + EIGEN_DEVICE_FUNC + void swap(const DenseBase& other) { - SwapWrapper(derived()).lazyAssign(other.derived()); + EIGEN_STATIC_ASSERT(!OtherDerived::IsPlainObjectBase,THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY); + eigen_assert(rows()==other.rows() && cols()==other.cols()); + call_assignment(derived(), other.const_cast_derived(), internal::swap_assign_op()); } /** swaps *this with the matrix or array \a other. * */ template + EIGEN_DEVICE_FUNC void swap(PlainObjectBase& other) { - SwapWrapper(derived()).lazyAssign(other.derived()); + eigen_assert(rows()==other.rows() && cols()==other.cols()); + call_assignment(derived(), other.derived(), internal::swap_assign_op()); } + EIGEN_DEVICE_FUNC inline const NestByValue nestByValue() const; + EIGEN_DEVICE_FUNC inline const ForceAlignedAccess forceAlignedAccess() const; + EIGEN_DEVICE_FUNC inline ForceAlignedAccess forceAlignedAccess(); + template EIGEN_DEVICE_FUNC + inline const typename internal::conditional,Derived&>::type forceAlignedAccessIf() const; + template EIGEN_DEVICE_FUNC + inline typename internal::conditional,Derived&>::type forceAlignedAccessIf(); - inline const NestByValue nestByValue() const; - inline const ForceAlignedAccess forceAlignedAccess() const; - inline ForceAlignedAccess forceAlignedAccess(); - template inline const typename internal::conditional,Derived&>::type forceAlignedAccessIf() const; - template inline typename internal::conditional,Derived&>::type forceAlignedAccessIf(); + EIGEN_DEVICE_FUNC Scalar sum() const; + EIGEN_DEVICE_FUNC Scalar mean() const; + EIGEN_DEVICE_FUNC Scalar trace() const; - Scalar sum() const; - Scalar mean() const; - Scalar trace() const; + EIGEN_DEVICE_FUNC Scalar prod() const; - Scalar prod() const; + EIGEN_DEVICE_FUNC typename internal::traits::Scalar minCoeff() const; + EIGEN_DEVICE_FUNC typename internal::traits::Scalar maxCoeff() const; - typename internal::traits::Scalar minCoeff() const; - typename internal::traits::Scalar maxCoeff() const; - - template + template EIGEN_DEVICE_FUNC typename internal::traits::Scalar minCoeff(IndexType* row, IndexType* col) const; - template + template EIGEN_DEVICE_FUNC typename internal::traits::Scalar maxCoeff(IndexType* row, IndexType* col) const; - template + template EIGEN_DEVICE_FUNC typename internal::traits::Scalar minCoeff(IndexType* index) const; - template + template EIGEN_DEVICE_FUNC typename internal::traits::Scalar maxCoeff(IndexType* index) const; template - typename internal::result_of::Scalar)>::type - redux(const BinaryOp& func) const; + EIGEN_DEVICE_FUNC + Scalar redux(const BinaryOp& func) const; template + EIGEN_DEVICE_FUNC void visit(Visitor& func) const; inline const WithFormat format(const IOFormat& fmt) const; /** \returns the unique coefficient of a 1x1 expression */ + EIGEN_DEVICE_FUNC CoeffReturnType value() const { EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) @@ -428,8 +478,8 @@ template class DenseBase return derived().coeff(0,0); } - bool all(void) const; - bool any(void) const; + bool all() const; + bool any() const; Index count() const; typedef VectorwiseOp RowwiseReturnType; @@ -437,14 +487,35 @@ template class DenseBase typedef VectorwiseOp ColwiseReturnType; typedef const VectorwiseOp ConstColwiseReturnType; - ConstRowwiseReturnType rowwise() const; - RowwiseReturnType rowwise(); - ConstColwiseReturnType colwise() const; - ColwiseReturnType colwise(); + /** \returns a VectorwiseOp wrapper of *this providing additional partial reduction operations + * + * Example: \include MatrixBase_rowwise.cpp + * Output: \verbinclude MatrixBase_rowwise.out + * + * \sa colwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting + */ + //Code moved here due to a CUDA compiler bug + EIGEN_DEVICE_FUNC inline ConstRowwiseReturnType rowwise() const { + return ConstRowwiseReturnType(derived()); + } + EIGEN_DEVICE_FUNC RowwiseReturnType rowwise(); + + /** \returns a VectorwiseOp wrapper of *this providing additional partial reduction operations + * + * Example: \include MatrixBase_colwise.cpp + * Output: \verbinclude MatrixBase_colwise.out + * + * \sa rowwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting + */ + EIGEN_DEVICE_FUNC inline ConstColwiseReturnType colwise() const { + return ConstColwiseReturnType(derived()); + } + EIGEN_DEVICE_FUNC ColwiseReturnType colwise(); - static const CwiseNullaryOp,Derived> Random(Index rows, Index cols); - static const CwiseNullaryOp,Derived> Random(Index size); - static const CwiseNullaryOp,Derived> Random(); + typedef CwiseNullaryOp,PlainObject> RandomReturnType; + static const RandomReturnType Random(Index rows, Index cols); + static const RandomReturnType Random(Index size); + static const RandomReturnType Random(); template const Select @@ -462,14 +533,33 @@ template class DenseBase template RealScalar lpNorm() const; template + EIGEN_DEVICE_FUNC const Replicate replicate() const; - const Replicate replicate(Index rowFacor,Index colFactor) const; + /** + * \return an expression of the replication of \c *this + * + * Example: \include MatrixBase_replicate_int_int.cpp + * Output: \verbinclude MatrixBase_replicate_int_int.out + * + * \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate + */ + //Code moved here due to a CUDA compiler bug + EIGEN_DEVICE_FUNC + const Replicate replicate(Index rowFactor, Index colFactor) const + { + return Replicate(derived(), rowFactor, colFactor); + } typedef Reverse ReverseReturnType; typedef const Reverse ConstReverseReturnType; - ReverseReturnType reverse(); - ConstReverseReturnType reverse() const; - void reverseInPlace(); + EIGEN_DEVICE_FUNC ReverseReturnType reverse(); + /** This is the const version of reverse(). */ + //Code moved here due to a CUDA compiler bug + EIGEN_DEVICE_FUNC ConstReverseReturnType reverse() const + { + return ConstReverseReturnType(derived()); + } + EIGEN_DEVICE_FUNC void reverseInPlace(); #define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::DenseBase # include "../plugins/BlockMethods.h" @@ -478,27 +568,18 @@ template class DenseBase # endif #undef EIGEN_CURRENT_STORAGE_BASE_CLASS -#ifdef EIGEN2_SUPPORT - - Block corner(CornerType type, Index cRows, Index cCols); - const Block corner(CornerType type, Index cRows, Index cCols) const; - template - Block corner(CornerType type); - template - const Block corner(CornerType type) const; - -#endif // EIGEN2_SUPPORT - // disable the use of evalTo for dense objects with a nice compilation error - template inline void evalTo(Dest& ) const + template + EIGEN_DEVICE_FUNC + inline void evalTo(Dest& ) const { EIGEN_STATIC_ASSERT((internal::is_same::value),THE_EVAL_EVALTO_FUNCTION_SHOULD_NEVER_BE_CALLED_FOR_DENSE_OBJECTS); } protected: /** Default constructor. Do nothing. */ - DenseBase() + EIGEN_DEVICE_FUNC DenseBase() { /* Just checks for self-consistency of the flags. * Only do it when debugging Eigen, as this borders on paranoiac and could slow compilation down @@ -511,9 +592,9 @@ template class DenseBase } private: - explicit DenseBase(int); - DenseBase(int,int); - template explicit DenseBase(const DenseBase&); + EIGEN_DEVICE_FUNC explicit DenseBase(int); + EIGEN_DEVICE_FUNC DenseBase(int,int); + template EIGEN_DEVICE_FUNC explicit DenseBase(const DenseBase&); }; } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/DenseCoeffsBase.h b/nuparu/include/Eigen/src/Core/DenseCoeffsBase.h index 3c890f21..820a90e6 100644 --- a/nuparu/include/Eigen/src/Core/DenseCoeffsBase.h +++ b/nuparu/include/Eigen/src/Core/DenseCoeffsBase.h @@ -35,7 +35,6 @@ class DenseCoeffsBase : public EigenBase { public: typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename internal::packet_traits::type PacketScalar; @@ -61,6 +60,7 @@ class DenseCoeffsBase : public EigenBase using Base::size; using Base::derived; + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner) const { return int(Derived::RowsAtCompileTime) == 1 ? 0 @@ -69,6 +69,7 @@ class DenseCoeffsBase : public EigenBase : inner; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner) const { return int(Derived::ColsAtCompileTime) == 1 ? 0 @@ -91,13 +92,15 @@ class DenseCoeffsBase : public EigenBase * * \sa operator()(Index,Index) const, coeffRef(Index,Index), coeff(Index) const */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const { eigen_internal_assert(row >= 0 && row < rows() - && col >= 0 && col < cols()); - return derived().coeff(row, col); + && col >= 0 && col < cols()); + return internal::evaluator(derived()).coeff(row,col); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeffByOuterInner(Index outer, Index inner) const { return coeff(rowIndexByOuterInner(outer, inner), @@ -108,11 +111,12 @@ class DenseCoeffsBase : public EigenBase * * \sa operator()(Index,Index), operator[](Index) */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index row, Index col) const { eigen_assert(row >= 0 && row < rows() && col >= 0 && col < cols()); - return derived().coeff(row, col); + return coeff(row, col); } /** Short version: don't use this function, use @@ -130,11 +134,14 @@ class DenseCoeffsBase : public EigenBase * \sa operator[](Index) const, coeffRef(Index), coeff(Index,Index) const */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const { + EIGEN_STATIC_ASSERT(internal::evaluator::Flags & LinearAccessBit, + THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS) eigen_internal_assert(index >= 0 && index < size()); - return derived().coeff(index); + return internal::evaluator(derived()).coeff(index); } @@ -146,15 +153,14 @@ class DenseCoeffsBase : public EigenBase * z() const, w() const */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator[](Index index) const { - #ifndef EIGEN2_SUPPORT EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime, THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD) - #endif eigen_assert(index >= 0 && index < size()); - return derived().coeff(index); + return coeff(index); } /** \returns the coefficient at given index. @@ -167,30 +173,35 @@ class DenseCoeffsBase : public EigenBase * z() const, w() const */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index index) const { eigen_assert(index >= 0 && index < size()); - return derived().coeff(index); + return coeff(index); } /** equivalent to operator[](0). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType x() const { return (*this)[0]; } /** equivalent to operator[](1). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType y() const { return (*this)[1]; } /** equivalent to operator[](2). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType z() const { return (*this)[2]; } /** equivalent to operator[](3). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType w() const { return (*this)[3]; } @@ -207,9 +218,9 @@ class DenseCoeffsBase : public EigenBase template EIGEN_STRONG_INLINE PacketReturnType packet(Index row, Index col) const { - eigen_internal_assert(row >= 0 && row < rows() - && col >= 0 && col < cols()); - return derived().template packet(row,col); + typedef typename internal::packet_traits::type DefaultPacketType; + eigen_internal_assert(row >= 0 && row < rows() && col >= 0 && col < cols()); + return internal::evaluator(derived()).template packet(row,col); } @@ -234,8 +245,11 @@ class DenseCoeffsBase : public EigenBase template EIGEN_STRONG_INLINE PacketReturnType packet(Index index) const { + EIGEN_STATIC_ASSERT(internal::evaluator::Flags & LinearAccessBit, + THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS) + typedef typename internal::packet_traits::type DefaultPacketType; eigen_internal_assert(index >= 0 && index < size()); - return derived().template packet(index); + return internal::evaluator(derived()).template packet(index); } protected: @@ -278,7 +292,6 @@ class DenseCoeffsBase : public DenseCoeffsBase Base; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename internal::packet_traits::type PacketScalar; typedef typename NumTraits::Real RealScalar; @@ -311,13 +324,15 @@ class DenseCoeffsBase : public DenseCoeffsBase= 0 && row < rows() - && col >= 0 && col < cols()); - return derived().coeffRef(row, col); + && col >= 0 && col < cols()); + return internal::evaluator(derived()).coeffRef(row,col); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRefByOuterInner(Index outer, Index inner) { @@ -330,12 +345,13 @@ class DenseCoeffsBase : public DenseCoeffsBase= 0 && row < rows() && col >= 0 && col < cols()); - return derived().coeffRef(row, col); + return coeffRef(row, col); } @@ -354,11 +370,14 @@ class DenseCoeffsBase : public DenseCoeffsBase::Flags & LinearAccessBit, + THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS) eigen_internal_assert(index >= 0 && index < size()); - return derived().coeffRef(index); + return internal::evaluator(derived()).coeffRef(index); } /** \returns a reference to the coefficient at given index. @@ -368,15 +387,14 @@ class DenseCoeffsBase : public DenseCoeffsBase= 0 && index < size()); - return derived().coeffRef(index); + return coeffRef(index); } /** \returns a reference to the coefficient at given index. @@ -388,167 +406,37 @@ class DenseCoeffsBase : public DenseCoeffsBase= 0 && index < size()); - return derived().coeffRef(index); + return coeffRef(index); } /** equivalent to operator[](0). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& x() { return (*this)[0]; } /** equivalent to operator[](1). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& y() { return (*this)[1]; } /** equivalent to operator[](2). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& z() { return (*this)[2]; } /** equivalent to operator[](3). */ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& w() { return (*this)[3]; } - - /** \internal - * Stores the given packet of coefficients, at the given row and column of this expression. It is your responsibility - * to ensure that a packet really starts there. This method is only available on expressions having the - * PacketAccessBit. - * - * The \a LoadMode parameter may have the value \a #Aligned or \a #Unaligned. Its effect is to select - * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets - * starting at an address which is a multiple of the packet size. - */ - - template - EIGEN_STRONG_INLINE void writePacket - (Index row, Index col, const typename internal::packet_traits::type& val) - { - eigen_internal_assert(row >= 0 && row < rows() - && col >= 0 && col < cols()); - derived().template writePacket(row,col,val); - } - - - /** \internal */ - template - EIGEN_STRONG_INLINE void writePacketByOuterInner - (Index outer, Index inner, const typename internal::packet_traits::type& val) - { - writePacket(rowIndexByOuterInner(outer, inner), - colIndexByOuterInner(outer, inner), - val); - } - - /** \internal - * Stores the given packet of coefficients, at the given index in this expression. It is your responsibility - * to ensure that a packet really starts there. This method is only available on expressions having the - * PacketAccessBit and the LinearAccessBit. - * - * The \a LoadMode parameter may have the value \a Aligned or \a Unaligned. Its effect is to select - * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets - * starting at an address which is a multiple of the packet size. - */ - template - EIGEN_STRONG_INLINE void writePacket - (Index index, const typename internal::packet_traits::type& val) - { - eigen_internal_assert(index >= 0 && index < size()); - derived().template writePacket(index,val); - } - -#ifndef EIGEN_PARSED_BY_DOXYGEN - - /** \internal Copies the coefficient at position (row,col) of other into *this. - * - * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code - * with usual assignments. - * - * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox. - */ - - template - EIGEN_STRONG_INLINE void copyCoeff(Index row, Index col, const DenseBase& other) - { - eigen_internal_assert(row >= 0 && row < rows() - && col >= 0 && col < cols()); - derived().coeffRef(row, col) = other.derived().coeff(row, col); - } - - /** \internal Copies the coefficient at the given index of other into *this. - * - * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code - * with usual assignments. - * - * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox. - */ - - template - EIGEN_STRONG_INLINE void copyCoeff(Index index, const DenseBase& other) - { - eigen_internal_assert(index >= 0 && index < size()); - derived().coeffRef(index) = other.derived().coeff(index); - } - - - template - EIGEN_STRONG_INLINE void copyCoeffByOuterInner(Index outer, Index inner, const DenseBase& other) - { - const Index row = rowIndexByOuterInner(outer,inner); - const Index col = colIndexByOuterInner(outer,inner); - // derived() is important here: copyCoeff() may be reimplemented in Derived! - derived().copyCoeff(row, col, other); - } - - /** \internal Copies the packet at position (row,col) of other into *this. - * - * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code - * with usual assignments. - * - * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox. - */ - - template - EIGEN_STRONG_INLINE void copyPacket(Index row, Index col, const DenseBase& other) - { - eigen_internal_assert(row >= 0 && row < rows() - && col >= 0 && col < cols()); - derived().template writePacket(row, col, - other.derived().template packet(row, col)); - } - - /** \internal Copies the packet at the given index of other into *this. - * - * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code - * with usual assignments. - * - * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox. - */ - - template - EIGEN_STRONG_INLINE void copyPacket(Index index, const DenseBase& other) - { - eigen_internal_assert(index >= 0 && index < size()); - derived().template writePacket(index, - other.derived().template packet(index)); - } - - /** \internal */ - template - EIGEN_STRONG_INLINE void copyPacketByOuterInner(Index outer, Index inner, const DenseBase& other) - { - const Index row = rowIndexByOuterInner(outer,inner); - const Index col = colIndexByOuterInner(outer,inner); - // derived() is important here: copyCoeff() may be reimplemented in Derived! - derived().template copyPacket< OtherDerived, StoreMode, LoadMode>(row, col, other); - } -#endif - }; /** \brief Base class providing direct read-only coefficient access to matrices and arrays. @@ -568,7 +456,6 @@ class DenseCoeffsBase : public DenseCoeffsBase Base; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename NumTraits::Real RealScalar; @@ -581,6 +468,7 @@ class DenseCoeffsBase : public DenseCoeffsBase : public DenseCoeffsBase : public DenseCoeffsBase : public DenseCoeffsBase public: typedef DenseCoeffsBase Base; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename NumTraits::Real RealScalar; @@ -652,6 +542,7 @@ class DenseCoeffsBase * * \sa outerStride(), rowStride(), colStride() */ + EIGEN_DEVICE_FUNC inline Index innerStride() const { return derived().innerStride(); @@ -662,6 +553,7 @@ class DenseCoeffsBase * * \sa innerStride(), rowStride(), colStride() */ + EIGEN_DEVICE_FUNC inline Index outerStride() const { return derived().outerStride(); @@ -677,6 +569,7 @@ class DenseCoeffsBase * * \sa innerStride(), outerStride(), colStride() */ + EIGEN_DEVICE_FUNC inline Index rowStride() const { return Derived::IsRowMajor ? outerStride() : innerStride(); @@ -686,6 +579,7 @@ class DenseCoeffsBase * * \sa innerStride(), outerStride(), rowStride() */ + EIGEN_DEVICE_FUNC inline Index colStride() const { return Derived::IsRowMajor ? innerStride() : outerStride(); @@ -694,33 +588,42 @@ class DenseCoeffsBase namespace internal { -template +template struct first_aligned_impl { - static inline typename Derived::Index run(const Derived&) + static inline Index run(const Derived&) { return 0; } }; -template -struct first_aligned_impl +template +struct first_aligned_impl { - static inline typename Derived::Index run(const Derived& m) + static inline Index run(const Derived& m) { - return internal::first_aligned(&m.const_cast_derived().coeffRef(0,0), m.size()); + return internal::first_aligned(&m.const_cast_derived().coeffRef(0,0), m.size()); } }; -/** \internal \returns the index of the first element of the array that is well aligned for vectorization. +/** \internal \returns the index of the first element of the array stored by \a m that is properly aligned with respect to \a Alignment for vectorization. + * + * \tparam Alignment requested alignment in Bytes. * * There is also the variant first_aligned(const Scalar*, Integer) defined in Memory.h. See it for more * documentation. */ +template +static inline Index first_aligned(const DenseBase& m) +{ + enum { ReturnZero = (int(evaluator::Alignment) >= Alignment) || !(Derived::Flags & DirectAccessBit) }; + return first_aligned_impl::run(m.derived()); +} + template -static inline typename Derived::Index first_aligned(const Derived& m) +static inline Index first_default_aligned(const DenseBase& m) { - return first_aligned_impl - - ::run(m); + typedef typename Derived::Scalar Scalar; + typedef typename packet_traits::type DefaultPacketType; + return internal::first_aligned::alignment),Derived>(m); } template::ret> diff --git a/nuparu/include/Eigen/src/Core/DenseStorage.h b/nuparu/include/Eigen/src/Core/DenseStorage.h index 3e7f9c1b..34048461 100644 --- a/nuparu/include/Eigen/src/Core/DenseStorage.h +++ b/nuparu/include/Eigen/src/Core/DenseStorage.h @@ -3,7 +3,7 @@ // // Copyright (C) 2008 Gael Guennebaud // Copyright (C) 2006-2009 Benoit Jacob -// Copyright (C) 2010 Hauke Heibel +// Copyright (C) 2010-2013 Hauke Heibel // // This Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed @@ -24,26 +24,37 @@ namespace internal { struct constructor_without_unaligned_array_assert {}; +template +EIGEN_DEVICE_FUNC +void check_static_allocation_size() +{ + // if EIGEN_STACK_ALLOCATION_LIMIT is defined to 0, then no limit + #if EIGEN_STACK_ALLOCATION_LIMIT + EIGEN_STATIC_ASSERT(Size * sizeof(T) <= EIGEN_STACK_ALLOCATION_LIMIT, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG); + #endif +} + /** \internal * Static array. If the MatrixOrArrayOptions require auto-alignment, the array will be automatically aligned: * to 16 bytes boundary if the total size is a multiple of 16 bytes. */ template + : compute_default_alignment::value > struct plain_array { T array[Size]; - plain_array() + EIGEN_DEVICE_FUNC + plain_array() { - EIGEN_STATIC_ASSERT(Size * sizeof(T) <= 128 * 128 * 8, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG); + check_static_allocation_size(); } - plain_array(constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC + plain_array(constructor_without_unaligned_array_assert) { - EIGEN_STATIC_ASSERT(Size * sizeof(T) <= 128 * 128 * 8, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG); + check_static_allocation_size(); } }; @@ -56,41 +67,100 @@ struct plain_array template EIGEN_ALWAYS_INLINE PtrType eigen_unaligned_array_assert_workaround_gcc47(PtrType array) { return array; } #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \ - eigen_assert((reinterpret_cast(eigen_unaligned_array_assert_workaround_gcc47(array)) & sizemask) == 0 \ + eigen_assert((reinterpret_cast(eigen_unaligned_array_assert_workaround_gcc47(array)) & (sizemask)) == 0 \ && "this assertion is explained here: " \ "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \ " **** READ THIS WEB PAGE !!! ****"); #else #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \ - eigen_assert((reinterpret_cast(array) & sizemask) == 0 \ + eigen_assert((reinterpret_cast(array) & (sizemask)) == 0 \ && "this assertion is explained here: " \ "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \ " **** READ THIS WEB PAGE !!! ****"); #endif +template +struct plain_array +{ + EIGEN_ALIGN_TO_BOUNDARY(8) T array[Size]; + + EIGEN_DEVICE_FUNC + plain_array() + { + EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(7); + check_static_allocation_size(); + } + + EIGEN_DEVICE_FUNC + plain_array(constructor_without_unaligned_array_assert) + { + check_static_allocation_size(); + } +}; + template struct plain_array { - EIGEN_USER_ALIGN16 T array[Size]; + EIGEN_ALIGN_TO_BOUNDARY(16) T array[Size]; + + EIGEN_DEVICE_FUNC + plain_array() + { + EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(15); + check_static_allocation_size(); + } + + EIGEN_DEVICE_FUNC + plain_array(constructor_without_unaligned_array_assert) + { + check_static_allocation_size(); + } +}; + +template +struct plain_array +{ + EIGEN_ALIGN_TO_BOUNDARY(32) T array[Size]; + + EIGEN_DEVICE_FUNC + plain_array() + { + EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(31); + check_static_allocation_size(); + } + + EIGEN_DEVICE_FUNC + plain_array(constructor_without_unaligned_array_assert) + { + check_static_allocation_size(); + } +}; + +template +struct plain_array +{ + EIGEN_ALIGN_TO_BOUNDARY(64) T array[Size]; + EIGEN_DEVICE_FUNC plain_array() { - EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(0xf); - EIGEN_STATIC_ASSERT(Size * sizeof(T) <= 128 * 128 * 8, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG); + EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(63); + check_static_allocation_size(); } + EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert) { - EIGEN_STATIC_ASSERT(Size * sizeof(T) <= 128 * 128 * 8, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG); + check_static_allocation_size(); } }; template struct plain_array { - EIGEN_USER_ALIGN16 T array[1]; - plain_array() {} - plain_array(constructor_without_unaligned_array_assert) {} + T array[1]; + EIGEN_DEVICE_FUNC plain_array() {} + EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert) {} }; } // end namespace internal @@ -114,33 +184,50 @@ template class DenseSt { internal::plain_array m_data; public: - inline DenseStorage() {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC DenseStorage() {} + EIGEN_DEVICE_FUNC + explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(internal::constructor_without_unaligned_array_assert()) {} - inline DenseStorage(DenseIndex,DenseIndex,DenseIndex) {} - inline void swap(DenseStorage& other) { std::swap(m_data,other.m_data); } - static inline DenseIndex rows(void) {return _Rows;} - static inline DenseIndex cols(void) {return _Cols;} - inline void conservativeResize(DenseIndex,DenseIndex,DenseIndex) {} - inline void resize(DenseIndex,DenseIndex,DenseIndex) {} - inline const T *data() const { return m_data.array; } - inline T *data() { return m_data.array; } + EIGEN_DEVICE_FUNC + DenseStorage(const DenseStorage& other) : m_data(other.m_data) {} + EIGEN_DEVICE_FUNC + DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) m_data = other.m_data; + return *this; + } + EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) { + EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN + eigen_internal_assert(size==rows*cols && rows==_Rows && cols==_Cols); + EIGEN_UNUSED_VARIABLE(size); + EIGEN_UNUSED_VARIABLE(rows); + EIGEN_UNUSED_VARIABLE(cols); + } + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); } + EIGEN_DEVICE_FUNC static Index rows(void) {return _Rows;} + EIGEN_DEVICE_FUNC static Index cols(void) {return _Cols;} + EIGEN_DEVICE_FUNC void conservativeResize(Index,Index,Index) {} + EIGEN_DEVICE_FUNC void resize(Index,Index,Index) {} + EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; } + EIGEN_DEVICE_FUNC T *data() { return m_data.array; } }; // null matrix template class DenseStorage { public: - inline DenseStorage() {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) {} - inline DenseStorage(DenseIndex,DenseIndex,DenseIndex) {} - inline void swap(DenseStorage& ) {} - static inline DenseIndex rows(void) {return _Rows;} - static inline DenseIndex cols(void) {return _Cols;} - inline void conservativeResize(DenseIndex,DenseIndex,DenseIndex) {} - inline void resize(DenseIndex,DenseIndex,DenseIndex) {} - inline const T *data() const { return 0; } - inline T *data() { return 0; } + EIGEN_DEVICE_FUNC DenseStorage() {} + EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_unaligned_array_assert) {} + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage&) {} + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage&) { return *this; } + EIGEN_DEVICE_FUNC DenseStorage(Index,Index,Index) {} + EIGEN_DEVICE_FUNC void swap(DenseStorage& ) {} + EIGEN_DEVICE_FUNC static Index rows(void) {return _Rows;} + EIGEN_DEVICE_FUNC static Index cols(void) {return _Cols;} + EIGEN_DEVICE_FUNC void conservativeResize(Index,Index,Index) {} + EIGEN_DEVICE_FUNC void resize(Index,Index,Index) {} + EIGEN_DEVICE_FUNC const T *data() const { return 0; } + EIGEN_DEVICE_FUNC T *data() { return 0; } }; // more specializations for null matrices; these are necessary to resolve ambiguities @@ -157,86 +244,157 @@ template class DenseStorage class DenseStorage { internal::plain_array m_data; - DenseIndex m_rows; - DenseIndex m_cols; + Index m_rows; + Index m_cols; public: - inline DenseStorage() : m_rows(0), m_cols(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC DenseStorage() : m_rows(0), m_cols(0) {} + EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0), m_cols(0) {} - inline DenseStorage(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) : m_rows(nbRows), m_cols(nbCols) {} - inline void swap(DenseStorage& other) + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_rows(other.m_rows), m_cols(other.m_cols) {} + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + m_data = other.m_data; + m_rows = other.m_rows; + m_cols = other.m_cols; + } + return *this; + } + EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index cols) : m_rows(rows), m_cols(cols) {} + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); std::swap(m_cols,other.m_cols); } - inline DenseIndex rows() const {return m_rows;} - inline DenseIndex cols() const {return m_cols;} - inline void conservativeResize(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) { m_rows = nbRows; m_cols = nbCols; } - inline void resize(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) { m_rows = nbRows; m_cols = nbCols; } - inline const T *data() const { return m_data.array; } - inline T *data() { return m_data.array; } + EIGEN_DEVICE_FUNC Index rows() const {return m_rows;} + EIGEN_DEVICE_FUNC Index cols() const {return m_cols;} + EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index cols) { m_rows = rows; m_cols = cols; } + EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index cols) { m_rows = rows; m_cols = cols; } + EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; } + EIGEN_DEVICE_FUNC T *data() { return m_data.array; } }; // dynamic-size matrix with fixed-size storage and fixed width template class DenseStorage { internal::plain_array m_data; - DenseIndex m_rows; + Index m_rows; public: - inline DenseStorage() : m_rows(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC DenseStorage() : m_rows(0) {} + EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0) {} - inline DenseStorage(DenseIndex, DenseIndex nbRows, DenseIndex) : m_rows(nbRows) {} - inline void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); } - inline DenseIndex rows(void) const {return m_rows;} - inline DenseIndex cols(void) const {return _Cols;} - inline void conservativeResize(DenseIndex, DenseIndex nbRows, DenseIndex) { m_rows = nbRows; } - inline void resize(DenseIndex, DenseIndex nbRows, DenseIndex) { m_rows = nbRows; } - inline const T *data() const { return m_data.array; } - inline T *data() { return m_data.array; } + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_rows(other.m_rows) {} + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + m_data = other.m_data; + m_rows = other.m_rows; + } + return *this; + } + EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index) : m_rows(rows) {} + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); } + EIGEN_DEVICE_FUNC Index rows(void) const {return m_rows;} + EIGEN_DEVICE_FUNC Index cols(void) const {return _Cols;} + EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index) { m_rows = rows; } + EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index) { m_rows = rows; } + EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; } + EIGEN_DEVICE_FUNC T *data() { return m_data.array; } }; // dynamic-size matrix with fixed-size storage and fixed height template class DenseStorage { internal::plain_array m_data; - DenseIndex m_cols; + Index m_cols; public: - inline DenseStorage() : m_cols(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC DenseStorage() : m_cols(0) {} + EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(internal::constructor_without_unaligned_array_assert()), m_cols(0) {} - inline DenseStorage(DenseIndex, DenseIndex, DenseIndex nbCols) : m_cols(nbCols) {} - inline void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); } - inline DenseIndex rows(void) const {return _Rows;} - inline DenseIndex cols(void) const {return m_cols;} - inline void conservativeResize(DenseIndex, DenseIndex, DenseIndex nbCols) { m_cols = nbCols; } - inline void resize(DenseIndex, DenseIndex, DenseIndex nbCols) { m_cols = nbCols; } - inline const T *data() const { return m_data.array; } - inline T *data() { return m_data.array; } + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_cols(other.m_cols) {} + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + m_data = other.m_data; + m_cols = other.m_cols; + } + return *this; + } + EIGEN_DEVICE_FUNC DenseStorage(Index, Index, Index cols) : m_cols(cols) {} + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); } + EIGEN_DEVICE_FUNC Index rows(void) const {return _Rows;} + EIGEN_DEVICE_FUNC Index cols(void) const {return m_cols;} + void conservativeResize(Index, Index, Index cols) { m_cols = cols; } + void resize(Index, Index, Index cols) { m_cols = cols; } + EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; } + EIGEN_DEVICE_FUNC T *data() { return m_data.array; } }; // purely dynamic matrix. template class DenseStorage { T *m_data; - DenseIndex m_rows; - DenseIndex m_cols; + Index m_rows; + Index m_cols; public: - inline DenseStorage() : m_data(0), m_rows(0), m_cols(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) + EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_rows(0), m_cols(0) {} + EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_rows(0), m_cols(0) {} - inline DenseStorage(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols) - : m_data(internal::conditional_aligned_new_auto(size)), m_rows(nbRows), m_cols(nbCols) - { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN } - inline ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, m_rows*m_cols); } - inline void swap(DenseStorage& other) + EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) + : m_data(internal::conditional_aligned_new_auto(size)), m_rows(rows), m_cols(cols) + { + EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN + eigen_internal_assert(size==rows*cols && rows>=0 && cols >=0); + } + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) + : m_data(internal::conditional_aligned_new_auto(other.m_rows*other.m_cols)) + , m_rows(other.m_rows) + , m_cols(other.m_cols) + { + internal::smart_copy(other.m_data, other.m_data+other.m_rows*other.m_cols, m_data); + } + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + DenseStorage tmp(other); + this->swap(tmp); + } + return *this; + } +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + DenseStorage(DenseStorage&& other) + : m_data(std::move(other.m_data)) + , m_rows(std::move(other.m_rows)) + , m_cols(std::move(other.m_cols)) + { + other.m_data = nullptr; + other.m_rows = 0; + other.m_cols = 0; + } + EIGEN_DEVICE_FUNC + DenseStorage& operator=(DenseStorage&& other) + { + using std::swap; + swap(m_data, other.m_data); + swap(m_rows, other.m_rows); + swap(m_cols, other.m_cols); + return *this; + } +#endif + EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, m_rows*m_cols); } + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); std::swap(m_cols,other.m_cols); } - inline DenseIndex rows(void) const {return m_rows;} - inline DenseIndex cols(void) const {return m_cols;} - inline void conservativeResize(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols) + EIGEN_DEVICE_FUNC Index rows(void) const {return m_rows;} + EIGEN_DEVICE_FUNC Index cols(void) const {return m_cols;} + void conservativeResize(Index size, Index rows, Index cols) { m_data = internal::conditional_aligned_realloc_new_auto(m_data, size, m_rows*m_cols); - m_rows = nbRows; - m_cols = nbCols; + m_rows = rows; + m_cols = cols; } - void resize(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols) + EIGEN_DEVICE_FUNC void resize(Index size, Index rows, Index cols) { if(size != m_rows*m_cols) { @@ -247,33 +405,70 @@ template class DenseStorage class DenseStorage { T *m_data; - DenseIndex m_cols; + Index m_cols; public: - inline DenseStorage() : m_data(0), m_cols(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_cols(0) {} - inline DenseStorage(DenseIndex size, DenseIndex, DenseIndex nbCols) : m_data(internal::conditional_aligned_new_auto(size)), m_cols(nbCols) - { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN } - inline ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, _Rows*m_cols); } - inline void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); } - static inline DenseIndex rows(void) {return _Rows;} - inline DenseIndex cols(void) const {return m_cols;} - inline void conservativeResize(DenseIndex size, DenseIndex, DenseIndex nbCols) + EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_cols(0) {} + explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_cols(0) {} + EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) : m_data(internal::conditional_aligned_new_auto(size)), m_cols(cols) + { + EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN + eigen_internal_assert(size==rows*cols && rows==_Rows && cols >=0); + EIGEN_UNUSED_VARIABLE(rows); + } + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) + : m_data(internal::conditional_aligned_new_auto(_Rows*other.m_cols)) + , m_cols(other.m_cols) + { + internal::smart_copy(other.m_data, other.m_data+_Rows*m_cols, m_data); + } + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + DenseStorage tmp(other); + this->swap(tmp); + } + return *this; + } +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + DenseStorage(DenseStorage&& other) + : m_data(std::move(other.m_data)) + , m_cols(std::move(other.m_cols)) + { + other.m_data = nullptr; + other.m_cols = 0; + } + EIGEN_DEVICE_FUNC + DenseStorage& operator=(DenseStorage&& other) + { + using std::swap; + swap(m_data, other.m_data); + swap(m_cols, other.m_cols); + return *this; + } +#endif + EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, _Rows*m_cols); } + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); } + EIGEN_DEVICE_FUNC static Index rows(void) {return _Rows;} + EIGEN_DEVICE_FUNC Index cols(void) const {return m_cols;} + EIGEN_DEVICE_FUNC void conservativeResize(Index size, Index, Index cols) { m_data = internal::conditional_aligned_realloc_new_auto(m_data, size, _Rows*m_cols); - m_cols = nbCols; + m_cols = cols; } - EIGEN_STRONG_INLINE void resize(DenseIndex size, DenseIndex, DenseIndex nbCols) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index size, Index, Index cols) { if(size != _Rows*m_cols) { @@ -284,32 +479,69 @@ template class DenseStorage class DenseStorage { T *m_data; - DenseIndex m_rows; + Index m_rows; public: - inline DenseStorage() : m_data(0), m_rows(0) {} - inline DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_rows(0) {} - inline DenseStorage(DenseIndex size, DenseIndex nbRows, DenseIndex) : m_data(internal::conditional_aligned_new_auto(size)), m_rows(nbRows) - { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN } - inline ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, _Cols*m_rows); } - inline void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); } - inline DenseIndex rows(void) const {return m_rows;} - static inline DenseIndex cols(void) {return _Cols;} - inline void conservativeResize(DenseIndex size, DenseIndex nbRows, DenseIndex) + EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_rows(0) {} + explicit DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_rows(0) {} + EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) : m_data(internal::conditional_aligned_new_auto(size)), m_rows(rows) + { + EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN + eigen_internal_assert(size==rows*cols && rows>=0 && cols == _Cols); + EIGEN_UNUSED_VARIABLE(cols); + } + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) + : m_data(internal::conditional_aligned_new_auto(other.m_rows*_Cols)) + , m_rows(other.m_rows) + { + internal::smart_copy(other.m_data, other.m_data+other.m_rows*_Cols, m_data); + } + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) + { + if (this != &other) + { + DenseStorage tmp(other); + this->swap(tmp); + } + return *this; + } +#ifdef EIGEN_HAVE_RVALUE_REFERENCES + EIGEN_DEVICE_FUNC + DenseStorage(DenseStorage&& other) + : m_data(std::move(other.m_data)) + , m_rows(std::move(other.m_rows)) + { + other.m_data = nullptr; + other.m_rows = 0; + } + EIGEN_DEVICE_FUNC + DenseStorage& operator=(DenseStorage&& other) + { + using std::swap; + swap(m_data, other.m_data); + swap(m_rows, other.m_rows); + return *this; + } +#endif + EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto(m_data, _Cols*m_rows); } + EIGEN_DEVICE_FUNC void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); } + EIGEN_DEVICE_FUNC Index rows(void) const {return m_rows;} + EIGEN_DEVICE_FUNC static Index cols(void) {return _Cols;} + void conservativeResize(Index size, Index rows, Index) { m_data = internal::conditional_aligned_realloc_new_auto(m_data, size, m_rows*_Cols); - m_rows = nbRows; + m_rows = rows; } - EIGEN_STRONG_INLINE void resize(DenseIndex size, DenseIndex nbRows, DenseIndex) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index size, Index rows, Index) { if(size != m_rows*_Cols) { @@ -320,10 +552,10 @@ template class DenseStorage struct traits > : traits { - typedef typename nested::type MatrixTypeNested; + typedef typename ref_selector::type MatrixTypeNested; typedef typename remove_reference::type _MatrixTypeNested; typedef typename MatrixType::StorageKind StorageKind; enum { @@ -52,8 +52,7 @@ struct traits > MatrixType::MaxColsAtCompileTime - EIGEN_PLAIN_ENUM_MAX( DiagIndex, 0))), MaxColsAtCompileTime = 1, MaskLvalueBit = is_lvalue::value ? LvalueBit : 0, - Flags = (unsigned int)_MatrixTypeNested::Flags & (HereditaryBits | LinearAccessBit | MaskLvalueBit | DirectAccessBit) & ~RowMajorBit, - CoeffReadCost = _MatrixTypeNested::CoeffReadCost, + Flags = (unsigned int)_MatrixTypeNested::Flags & (RowMajorBit | MaskLvalueBit | DirectAccessBit) & ~RowMajorBit, // FIXME DirectAccessBit should not be handled by expressions MatrixTypeOuterStride = outer_stride_at_compile_time::ret, InnerStrideAtCompileTime = MatrixTypeOuterStride == Dynamic ? Dynamic : MatrixTypeOuterStride+1, OuterStrideAtCompileTime = 0 @@ -70,20 +69,28 @@ template class Diagonal typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Diagonal) - inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) {} + EIGEN_DEVICE_FUNC + explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) {} EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Diagonal) + EIGEN_DEVICE_FUNC inline Index rows() const - { return m_index.value()<0 ? (std::min)(m_matrix.cols(),m_matrix.rows()+m_index.value()) : (std::min)(m_matrix.rows(),m_matrix.cols()-m_index.value()); } + { + return m_index.value()<0 ? numext::mini(m_matrix.cols(),m_matrix.rows()+m_index.value()) + : numext::mini(m_matrix.rows(),m_matrix.cols()-m_index.value()); + } + EIGEN_DEVICE_FUNC inline Index cols() const { return 1; } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_matrix.outerStride() + 1; } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return 0; @@ -95,48 +102,58 @@ template class Diagonal const Scalar >::type ScalarWithConstIfNotLvalue; + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue* data() { return &(m_matrix.const_cast_derived().coeffRef(rowOffset(), colOffset())); } + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return &(m_matrix.const_cast_derived().coeffRef(rowOffset(), colOffset())); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index row, Index) { EIGEN_STATIC_ASSERT_LVALUE(MatrixType) return m_matrix.const_cast_derived().coeffRef(row+rowOffset(), row+colOffset()); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index row, Index) const { return m_matrix.const_cast_derived().coeffRef(row+rowOffset(), row+colOffset()); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index row, Index) const { return m_matrix.coeff(row+rowOffset(), row+colOffset()); } + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index idx) { EIGEN_STATIC_ASSERT_LVALUE(MatrixType) return m_matrix.const_cast_derived().coeffRef(idx+rowOffset(), idx+colOffset()); } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index idx) const { return m_matrix.const_cast_derived().coeffRef(idx+rowOffset(), idx+colOffset()); } + EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index idx) const { return m_matrix.coeff(idx+rowOffset(), idx+colOffset()); } - const typename internal::remove_all::type& + EIGEN_DEVICE_FUNC + inline const typename internal::remove_all::type& nestedExpression() const { return m_matrix; } - int index() const + EIGEN_DEVICE_FUNC + inline Index index() const { return m_index.value(); } @@ -147,10 +164,13 @@ template class Diagonal private: // some compilers may fail to optimize std::max etc in case of compile-time constants... + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index absDiagIndex() const { return m_index.value()>0 ? m_index.value() : -m_index.value(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowOffset() const { return m_index.value()>0 ? 0 : -m_index.value(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colOffset() const { return m_index.value()>0 ? m_index.value() : 0; } - // triger a compile time error is someone try to call packet + // trigger a compile-time error if someone try to call packet template typename MatrixType::PacketReturnType packet(Index) const; template typename MatrixType::PacketReturnType packet(Index,Index) const; }; @@ -167,7 +187,7 @@ template inline typename MatrixBase::DiagonalReturnType MatrixBase::diagonal() { - return derived(); + return DiagonalReturnType(derived()); } /** This is the const version of diagonal(). */ @@ -190,18 +210,18 @@ MatrixBase::diagonal() const * * \sa MatrixBase::diagonal(), class Diagonal */ template -inline typename MatrixBase::template DiagonalIndexReturnType::Type +inline typename MatrixBase::DiagonalDynamicIndexReturnType MatrixBase::diagonal(Index index) { - return typename DiagonalIndexReturnType::Type(derived(), index); + return DiagonalDynamicIndexReturnType(derived(), index); } /** This is the const version of diagonal(Index). */ template -inline typename MatrixBase::template ConstDiagonalIndexReturnType::Type +inline typename MatrixBase::ConstDiagonalDynamicIndexReturnType MatrixBase::diagonal(Index index) const { - return typename ConstDiagonalIndexReturnType::Type(derived(), index); + return ConstDiagonalDynamicIndexReturnType(derived(), index); } /** \returns an expression of the \a DiagIndex-th sub or super diagonal of the matrix \c *this @@ -216,20 +236,20 @@ MatrixBase::diagonal(Index index) const * * \sa MatrixBase::diagonal(), class Diagonal */ template -template -inline typename MatrixBase::template DiagonalIndexReturnType::Type +template +inline typename MatrixBase::template DiagonalIndexReturnType::Type MatrixBase::diagonal() { - return derived(); + return typename DiagonalIndexReturnType::Type(derived()); } /** This is the const version of diagonal(). */ template -template -inline typename MatrixBase::template ConstDiagonalIndexReturnType::Type +template +inline typename MatrixBase::template ConstDiagonalIndexReturnType::Type MatrixBase::diagonal() const { - return derived(); + return typename ConstDiagonalIndexReturnType::Type(derived()); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/DiagonalMatrix.h b/nuparu/include/Eigen/src/Core/DiagonalMatrix.h index e6c220f4..5a9e3abd 100644 --- a/nuparu/include/Eigen/src/Core/DiagonalMatrix.h +++ b/nuparu/include/Eigen/src/Core/DiagonalMatrix.h @@ -22,7 +22,7 @@ class DiagonalBase : public EigenBase typedef typename DiagonalVectorType::Scalar Scalar; typedef typename DiagonalVectorType::RealScalar RealScalar; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; + typedef typename internal::traits::StorageIndex StorageIndex; enum { RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime, @@ -30,79 +30,62 @@ class DiagonalBase : public EigenBase MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime, MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime, IsVectorAtCompileTime = 0, - Flags = 0 + Flags = NoPreferredStorageOrderBit }; typedef Matrix DenseMatrixType; typedef DenseMatrixType DenseType; typedef DiagonalMatrix PlainObject; + EIGEN_DEVICE_FUNC inline const Derived& derived() const { return *static_cast(this); } + EIGEN_DEVICE_FUNC inline Derived& derived() { return *static_cast(this); } + EIGEN_DEVICE_FUNC DenseMatrixType toDenseMatrix() const { return derived(); } - template - void evalTo(MatrixBase &other) const; - template - void addTo(MatrixBase &other) const - { other.diagonal() += diagonal(); } - template - void subTo(MatrixBase &other) const - { other.diagonal() -= diagonal(); } - + + EIGEN_DEVICE_FUNC inline const DiagonalVectorType& diagonal() const { return derived().diagonal(); } + EIGEN_DEVICE_FUNC inline DiagonalVectorType& diagonal() { return derived().diagonal(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return diagonal().size(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return diagonal().size(); } - /** \returns the diagonal matrix product of \c *this by the matrix \a matrix. - */ template - const DiagonalProduct + EIGEN_DEVICE_FUNC + const Product operator*(const MatrixBase &matrix) const { - return DiagonalProduct(matrix.derived(), derived()); + return Product(derived(),matrix.derived()); } - inline const DiagonalWrapper, const DiagonalVectorType> > + typedef DiagonalWrapper, const DiagonalVectorType> > InverseReturnType; + EIGEN_DEVICE_FUNC + inline const InverseReturnType inverse() const { - return diagonal().cwiseInverse(); + return InverseReturnType(diagonal().cwiseInverse()); } - inline const DiagonalWrapper, const DiagonalVectorType> > + typedef DiagonalWrapper, const DiagonalVectorType> > ScalarMultipleReturnType; + EIGEN_DEVICE_FUNC + inline const ScalarMultipleReturnType operator*(const Scalar& scalar) const { - return diagonal() * scalar; + return ScalarMultipleReturnType(diagonal() * scalar); } - friend inline const DiagonalWrapper, const DiagonalVectorType> > + EIGEN_DEVICE_FUNC + friend inline const ScalarMultipleReturnType operator*(const Scalar& scalar, const DiagonalBase& other) { - return other.diagonal() * scalar; - } - - #ifdef EIGEN2_SUPPORT - template - bool isApprox(const DiagonalBase& other, typename NumTraits::Real precision = NumTraits::dummy_precision()) const - { - return diagonal().isApprox(other.diagonal(), precision); + return ScalarMultipleReturnType(other.diagonal() * scalar); } - template - bool isApprox(const MatrixBase& other, typename NumTraits::Real precision = NumTraits::dummy_precision()) const - { - return toDenseMatrix().isApprox(other, precision); - } - #endif }; -template -template -void DiagonalBase::evalTo(MatrixBase &other) const -{ - other.setZero(); - other.diagonal() = diagonal(); -} #endif /** \class DiagonalMatrix @@ -124,10 +107,9 @@ struct traits > : traits > { typedef Matrix<_Scalar,SizeAtCompileTime,1,0,MaxSizeAtCompileTime,1> DiagonalVectorType; - typedef Dense StorageKind; - typedef DenseIndex Index; + typedef DiagonalShape StorageKind; enum { - Flags = LvalueBit + Flags = LvalueBit | NoPreferredStorageOrderBit }; }; } @@ -141,7 +123,7 @@ class DiagonalMatrix typedef const DiagonalMatrix& Nested; typedef _Scalar Scalar; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; + typedef typename internal::traits::StorageIndex StorageIndex; #endif protected: @@ -151,24 +133,31 @@ class DiagonalMatrix public: /** const version of diagonal(). */ + EIGEN_DEVICE_FUNC inline const DiagonalVectorType& diagonal() const { return m_diagonal; } /** \returns a reference to the stored vector of diagonal coefficients. */ + EIGEN_DEVICE_FUNC inline DiagonalVectorType& diagonal() { return m_diagonal; } /** Default constructor without initialization */ + EIGEN_DEVICE_FUNC inline DiagonalMatrix() {} /** Constructs a diagonal matrix with given dimension */ - inline DiagonalMatrix(Index dim) : m_diagonal(dim) {} + EIGEN_DEVICE_FUNC + explicit inline DiagonalMatrix(Index dim) : m_diagonal(dim) {} /** 2D constructor. */ + EIGEN_DEVICE_FUNC inline DiagonalMatrix(const Scalar& x, const Scalar& y) : m_diagonal(x,y) {} /** 3D constructor. */ + EIGEN_DEVICE_FUNC inline DiagonalMatrix(const Scalar& x, const Scalar& y, const Scalar& z) : m_diagonal(x,y,z) {} /** Copy constructor. */ template + EIGEN_DEVICE_FUNC inline DiagonalMatrix(const DiagonalBase& other) : m_diagonal(other.diagonal()) {} #ifndef EIGEN_PARSED_BY_DOXYGEN @@ -178,11 +167,13 @@ class DiagonalMatrix /** generic constructor from expression of the diagonal coefficients */ template + EIGEN_DEVICE_FUNC explicit inline DiagonalMatrix(const MatrixBase& other) : m_diagonal(other) {} /** Copy operator. */ template + EIGEN_DEVICE_FUNC DiagonalMatrix& operator=(const DiagonalBase& other) { m_diagonal = other.diagonal(); @@ -193,6 +184,7 @@ class DiagonalMatrix /** This is a special case of the templated operator=. Its purpose is to * prevent a default operator= from hiding the templated operator=. */ + EIGEN_DEVICE_FUNC DiagonalMatrix& operator=(const DiagonalMatrix& other) { m_diagonal = other.diagonal(); @@ -201,14 +193,19 @@ class DiagonalMatrix #endif /** Resizes to given size. */ + EIGEN_DEVICE_FUNC inline void resize(Index size) { m_diagonal.resize(size); } /** Sets all coefficients to zero. */ + EIGEN_DEVICE_FUNC inline void setZero() { m_diagonal.setZero(); } /** Resizes and sets all coefficients to zero. */ + EIGEN_DEVICE_FUNC inline void setZero(Index size) { m_diagonal.setZero(size); } /** Sets this matrix to be the identity matrix of the current size. */ + EIGEN_DEVICE_FUNC inline void setIdentity() { m_diagonal.setOnes(); } /** Sets this matrix to be the identity matrix of the given size. */ + EIGEN_DEVICE_FUNC inline void setIdentity(Index size) { m_diagonal.setOnes(size); } }; @@ -232,14 +229,15 @@ struct traits > { typedef _DiagonalVectorType DiagonalVectorType; typedef typename DiagonalVectorType::Scalar Scalar; - typedef typename DiagonalVectorType::Index Index; - typedef typename DiagonalVectorType::StorageKind StorageKind; + typedef typename DiagonalVectorType::StorageIndex StorageIndex; + typedef DiagonalShape StorageKind; + typedef typename traits::XprKind XprKind; enum { RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime, ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime, - MaxRowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime, - MaxColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime, - Flags = traits::Flags & LvalueBit + MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime, + MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime, + Flags = (traits::Flags & LvalueBit) | NoPreferredStorageOrderBit }; }; } @@ -255,9 +253,11 @@ class DiagonalWrapper #endif /** Constructor from expression of diagonal coefficients to wrap. */ - inline DiagonalWrapper(DiagonalVectorType& a_diagonal) : m_diagonal(a_diagonal) {} + EIGEN_DEVICE_FUNC + explicit inline DiagonalWrapper(DiagonalVectorType& a_diagonal) : m_diagonal(a_diagonal) {} /** \returns a const reference to the wrapped expression of diagonal coefficients. */ + EIGEN_DEVICE_FUNC const DiagonalVectorType& diagonal() const { return m_diagonal; } protected: @@ -277,7 +277,7 @@ template inline const DiagonalWrapper MatrixBase::asDiagonal() const { - return derived(); + return DiagonalWrapper(derived()); } /** \returns true if *this is approximately equal to a diagonal matrix, @@ -308,6 +308,33 @@ bool MatrixBase::isDiagonal(const RealScalar& prec) const return true; } +namespace internal { + +template<> struct storage_kind_to_shape { typedef DiagonalShape Shape; }; + +struct Diagonal2Dense {}; + +template<> struct AssignmentKind { typedef Diagonal2Dense Kind; }; + +// Diagonal matrix to Dense assignment +template< typename DstXprType, typename SrcXprType, typename Functor, typename Scalar> +struct Assignment +{ + static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &/*func*/) + { + dst.setZero(); + dst.diagonal() = src.diagonal(); + } + + static void run(DstXprType &dst, const SrcXprType &src, const internal::add_assign_op &/*func*/) + { dst.diagonal() += src.diagonal(); } + + static void run(DstXprType &dst, const SrcXprType &src, const internal::sub_assign_op &/*func*/) + { dst.diagonal() -= src.diagonal(); } +}; + +} // namespace internal + } // end namespace Eigen #endif // EIGEN_DIAGONALMATRIX_H diff --git a/nuparu/include/Eigen/src/Core/DiagonalProduct.h b/nuparu/include/Eigen/src/Core/DiagonalProduct.h index c03a0c2e..d372b938 100644 --- a/nuparu/include/Eigen/src/Core/DiagonalProduct.h +++ b/nuparu/include/Eigen/src/Core/DiagonalProduct.h @@ -13,116 +13,14 @@ namespace Eigen { -namespace internal { -template -struct traits > - : traits -{ - typedef typename scalar_product_traits::ReturnType Scalar; - enum { - RowsAtCompileTime = MatrixType::RowsAtCompileTime, - ColsAtCompileTime = MatrixType::ColsAtCompileTime, - MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime, - MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime, - - _StorageOrder = MatrixType::Flags & RowMajorBit ? RowMajor : ColMajor, - _ScalarAccessOnDiag = !((int(_StorageOrder) == ColMajor && int(ProductOrder) == OnTheLeft) - ||(int(_StorageOrder) == RowMajor && int(ProductOrder) == OnTheRight)), - _SameTypes = is_same::value, - // FIXME currently we need same types, but in the future the next rule should be the one - //_Vectorizable = bool(int(MatrixType::Flags)&PacketAccessBit) && ((!_PacketOnDiag) || (_SameTypes && bool(int(DiagonalType::DiagonalVectorType::Flags)&PacketAccessBit))), - _Vectorizable = bool(int(MatrixType::Flags)&PacketAccessBit) && _SameTypes && (_ScalarAccessOnDiag || (bool(int(DiagonalType::DiagonalVectorType::Flags)&PacketAccessBit))), - _LinearAccessMask = (RowsAtCompileTime==1 || ColsAtCompileTime==1) ? LinearAccessBit : 0, - - Flags = ((HereditaryBits|_LinearAccessMask) & (unsigned int)(MatrixType::Flags)) | (_Vectorizable ? PacketAccessBit : 0) | AlignedBit,//(int(MatrixType::Flags)&int(DiagonalType::DiagonalVectorType::Flags)&AlignedBit), - CoeffReadCost = NumTraits::MulCost + MatrixType::CoeffReadCost + DiagonalType::DiagonalVectorType::CoeffReadCost - }; -}; -} - -template -class DiagonalProduct : internal::no_assignment_operator, - public MatrixBase > -{ - public: - - typedef MatrixBase Base; - EIGEN_DENSE_PUBLIC_INTERFACE(DiagonalProduct) - - inline DiagonalProduct(const MatrixType& matrix, const DiagonalType& diagonal) - : m_matrix(matrix), m_diagonal(diagonal) - { - eigen_assert(diagonal.diagonal().size() == (ProductOrder == OnTheLeft ? matrix.rows() : matrix.cols())); - } - - EIGEN_STRONG_INLINE Index rows() const { return m_matrix.rows(); } - EIGEN_STRONG_INLINE Index cols() const { return m_matrix.cols(); } - - EIGEN_STRONG_INLINE const Scalar coeff(Index row, Index col) const - { - return m_diagonal.diagonal().coeff(ProductOrder == OnTheLeft ? row : col) * m_matrix.coeff(row, col); - } - - EIGEN_STRONG_INLINE const Scalar coeff(Index idx) const - { - enum { - StorageOrder = int(MatrixType::Flags) & RowMajorBit ? RowMajor : ColMajor - }; - return coeff(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index row, Index col) const - { - enum { - StorageOrder = Flags & RowMajorBit ? RowMajor : ColMajor - }; - const Index indexInDiagonalVector = ProductOrder == OnTheLeft ? row : col; - return packet_impl(row,col,indexInDiagonalVector,typename internal::conditional< - ((int(StorageOrder) == RowMajor && int(ProductOrder) == OnTheLeft) - ||(int(StorageOrder) == ColMajor && int(ProductOrder) == OnTheRight)), internal::true_type, internal::false_type>::type()); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet(Index idx) const - { - enum { - StorageOrder = int(MatrixType::Flags) & RowMajorBit ? RowMajor : ColMajor - }; - return packet(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx); - } - - protected: - template - EIGEN_STRONG_INLINE PacketScalar packet_impl(Index row, Index col, Index id, internal::true_type) const - { - return internal::pmul(m_matrix.template packet(row, col), - internal::pset1(m_diagonal.diagonal().coeff(id))); - } - - template - EIGEN_STRONG_INLINE PacketScalar packet_impl(Index row, Index col, Index id, internal::false_type) const - { - enum { - InnerSize = (MatrixType::Flags & RowMajorBit) ? MatrixType::ColsAtCompileTime : MatrixType::RowsAtCompileTime, - DiagonalVectorPacketLoadMode = (LoadMode == Aligned && (((InnerSize%16) == 0) || (int(DiagonalType::DiagonalVectorType::Flags)&AlignedBit)==AlignedBit) ? Aligned : Unaligned) - }; - return internal::pmul(m_matrix.template packet(row, col), - m_diagonal.diagonal().template packet(id)); - } - - typename MatrixType::Nested m_matrix; - typename DiagonalType::Nested m_diagonal; -}; - /** \returns the diagonal matrix product of \c *this by the diagonal matrix \a diagonal. */ template template -inline const DiagonalProduct +inline const Product MatrixBase::operator*(const DiagonalBase &a_diagonal) const { - return DiagonalProduct(derived(), a_diagonal.derived()); + return Product(derived(),a_diagonal.derived()); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/Dot.h b/nuparu/include/Eigen/src/Core/Dot.h index 9d7651f1..003450f1 100644 --- a/nuparu/include/Eigen/src/Core/Dot.h +++ b/nuparu/include/Eigen/src/Core/Dot.h @@ -29,6 +29,7 @@ template::Scalar,typename traits::Scalar>::ReturnType ResScalar; + EIGEN_DEVICE_FUNC static inline ResScalar run(const MatrixBase& a, const MatrixBase& b) { return a.template binaryExpr::Scalar,typename traits::Scalar> >(b).sum(); @@ -39,6 +40,7 @@ template struct dot_nocheck { typedef typename scalar_product_traits::Scalar,typename traits::Scalar>::ReturnType ResScalar; + EIGEN_DEVICE_FUNC static inline ResScalar run(const MatrixBase& a, const MatrixBase& b) { return a.transpose().template binaryExpr::Scalar,typename traits::Scalar> >(b).sum(); @@ -59,6 +61,7 @@ struct dot_nocheck */ template template +EIGEN_DEVICE_FUNC typename internal::scalar_product_traits::Scalar,typename internal::traits::Scalar>::ReturnType MatrixBase::dot(const MatrixBase& other) const { @@ -73,34 +76,6 @@ MatrixBase::dot(const MatrixBase& other) const return internal::dot_nocheck::run(*this, other); } -#ifdef EIGEN2_SUPPORT -/** \returns the dot product of *this with other, with the Eigen2 convention that the dot product is linear in the first variable - * (conjugating the second variable). Of course this only makes a difference in the complex case. - * - * This method is only available in EIGEN2_SUPPORT mode. - * - * \only_for_vectors - * - * \sa dot() - */ -template -template -typename internal::traits::Scalar -MatrixBase::eigen2_dot(const MatrixBase& other) const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived) - EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived) - EIGEN_STATIC_ASSERT((internal::is_same::value), - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - - eigen_assert(size() == other.size()); - - return internal::dot_nocheck::run(other,*this); -} -#endif - - //---------- implementation of L2 norm and related functions ---------- /** \returns, for vectors, the squared \em l2 norm of \c *this, and for matrices the Frobenius norm. @@ -124,7 +99,7 @@ EIGEN_STRONG_INLINE typename NumTraits::Scala template inline typename NumTraits::Scalar>::Real MatrixBase::norm() const { - using std::sqrt; + EIGEN_USING_STD_MATH(sqrt) return sqrt(squaredNorm()); } @@ -138,8 +113,7 @@ template inline const typename MatrixBase::PlainObject MatrixBase::normalized() const { - typedef typename internal::nested::type Nested; - typedef typename internal::remove_reference::type _Nested; + typedef typename internal::nested_eval::type _Nested; _Nested n(derived()); return n / n.norm(); } @@ -164,9 +138,10 @@ template struct lpNorm_selector { typedef typename NumTraits::Scalar>::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const MatrixBase& m) { - using std::pow; + EIGEN_USING_STD_MATH(pow) return pow(m.cwiseAbs().array().pow(p).sum(), RealScalar(1)/p); } }; @@ -174,6 +149,7 @@ struct lpNorm_selector template struct lpNorm_selector { + EIGEN_DEVICE_FUNC static inline typename NumTraits::Scalar>::Real run(const MatrixBase& m) { return m.cwiseAbs().sum(); @@ -183,6 +159,7 @@ struct lpNorm_selector template struct lpNorm_selector { + EIGEN_DEVICE_FUNC static inline typename NumTraits::Scalar>::Real run(const MatrixBase& m) { return m.norm(); @@ -192,6 +169,7 @@ struct lpNorm_selector template struct lpNorm_selector { + EIGEN_DEVICE_FUNC static inline typename NumTraits::Scalar>::Real run(const MatrixBase& m) { return m.cwiseAbs().maxCoeff(); @@ -200,9 +178,11 @@ struct lpNorm_selector } // end namespace internal -/** \returns the \f$ \ell^p \f$ norm of *this, that is, returns the p-th root of the sum of the p-th powers of the absolute values - * of the coefficients of *this. If \a p is the special value \a Eigen::Infinity, this function returns the \f$ \ell^\infty \f$ - * norm, that is the maximum of the absolute values of the coefficients of *this. +/** \returns the \b coefficient-wise \f$ \ell^p \f$ norm of \c *this, that is, returns the p-th root of the sum of the p-th powers of the absolute values + * of the coefficients of \c *this. If \a p is the special value \a Eigen::Infinity, this function returns the \f$ \ell^\infty \f$ + * norm, that is the maximum of the absolute values of the coefficients of \c *this. + * + * \note For matrices, this function does not compute the operator-norm. That is, if \c *this is a matrix, then its coefficients are interpreted as a 1D vector. Nonetheless, you can easily compute the 1-norm and \f$\infty\f$-norm matrix operator norms using \link TutorialReductionsVisitorsBroadcastingReductionsNorm partial reductions \endlink. * * \sa norm() */ @@ -227,8 +207,8 @@ template bool MatrixBase::isOrthogonal (const MatrixBase& other, const RealScalar& prec) const { - typename internal::nested::type nested(derived()); - typename internal::nested::type otherNested(other.derived()); + typename internal::nested_eval::type nested(derived()); + typename internal::nested_eval::type otherNested(other.derived()); return numext::abs2(nested.dot(otherNested)) <= prec * prec * nested.squaredNorm() * otherNested.squaredNorm(); } @@ -246,13 +226,13 @@ bool MatrixBase::isOrthogonal template bool MatrixBase::isUnitary(const RealScalar& prec) const { - typename Derived::Nested nested(derived()); + typename internal::nested_eval::type self(derived()); for(Index i = 0; i < cols(); ++i) { - if(!internal::isApprox(nested.col(i).squaredNorm(), static_cast(1), prec)) + if(!internal::isApprox(self.col(i).squaredNorm(), static_cast(1), prec)) return false; for(Index j = 0; j < i; ++j) - if(!internal::isMuchSmallerThan(nested.col(i).dot(nested.col(j)), static_cast(1), prec)) + if(!internal::isMuchSmallerThan(self.col(i).dot(self.col(j)), static_cast(1), prec)) return false; } return true; diff --git a/nuparu/include/Eigen/src/Core/EigenBase.h b/nuparu/include/Eigen/src/Core/EigenBase.h index 2b8dd1b7..79dabda3 100644 --- a/nuparu/include/Eigen/src/Core/EigenBase.h +++ b/nuparu/include/Eigen/src/Core/EigenBase.h @@ -13,7 +13,9 @@ namespace Eigen { -/** Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor MatrixBase(T). +/** \class EigenBase + * + * Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor MatrixBase(T). * * In other words, an EigenBase object is an object that can be copied into a MatrixBase. * @@ -26,34 +28,52 @@ namespace Eigen { template struct EigenBase { // typedef typename internal::plain_matrix_type::type PlainObject; - + + /** \brief The interface type of indices + * \details To change this, \c \#define the preprocessor symbol \c EIGEN_DEFAULT_DENSE_INDEX_TYPE. + * \deprecated Since Eigen 3.3, its usage is deprecated. Use Eigen::Index instead. + * \sa StorageIndex, \ref TopicPreprocessorDirectives. + */ + typedef Eigen::Index Index; + + // FIXME is it needed? typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; /** \returns a reference to the derived object */ + EIGEN_DEVICE_FUNC Derived& derived() { return *static_cast(this); } /** \returns a const reference to the derived object */ + EIGEN_DEVICE_FUNC const Derived& derived() const { return *static_cast(this); } + EIGEN_DEVICE_FUNC inline Derived& const_cast_derived() const { return *static_cast(const_cast(this)); } + EIGEN_DEVICE_FUNC inline const Derived& const_derived() const { return *static_cast(this); } /** \returns the number of rows. \sa cols(), RowsAtCompileTime */ + EIGEN_DEVICE_FUNC inline Index rows() const { return derived().rows(); } /** \returns the number of columns. \sa rows(), ColsAtCompileTime*/ + EIGEN_DEVICE_FUNC inline Index cols() const { return derived().cols(); } /** \returns the number of coefficients, which is rows()*cols(). * \sa rows(), cols(), SizeAtCompileTime. */ + EIGEN_DEVICE_FUNC inline Index size() const { return rows() * cols(); } /** \internal Don't use it, but do the equivalent: \code dst = *this; \endcode */ - template inline void evalTo(Dest& dst) const + template + EIGEN_DEVICE_FUNC + inline void evalTo(Dest& dst) const { derived().evalTo(dst); } /** \internal Don't use it, but do the equivalent: \code dst += *this; \endcode */ - template inline void addTo(Dest& dst) const + template + EIGEN_DEVICE_FUNC + inline void addTo(Dest& dst) const { // This is the default implementation, // derived class can reimplement it in a more optimized way. @@ -63,7 +83,9 @@ template struct EigenBase } /** \internal Don't use it, but do the equivalent: \code dst -= *this; \endcode */ - template inline void subTo(Dest& dst) const + template + EIGEN_DEVICE_FUNC + inline void subTo(Dest& dst) const { // This is the default implementation, // derived class can reimplement it in a more optimized way. @@ -73,7 +95,8 @@ template struct EigenBase } /** \internal Don't use it, but do the equivalent: \code dst.applyOnTheRight(*this); \endcode */ - template inline void applyThisOnTheRight(Dest& dst) const + template + EIGEN_DEVICE_FUNC inline void applyThisOnTheRight(Dest& dst) const { // This is the default implementation, // derived class can reimplement it in a more optimized way. @@ -81,7 +104,8 @@ template struct EigenBase } /** \internal Don't use it, but do the equivalent: \code dst.applyOnTheLeft(*this); \endcode */ - template inline void applyThisOnTheLeft(Dest& dst) const + template + EIGEN_DEVICE_FUNC inline void applyThisOnTheLeft(Dest& dst) const { // This is the default implementation, // derived class can reimplement it in a more optimized way. @@ -106,7 +130,7 @@ template template Derived& DenseBase::operator=(const EigenBase &other) { - other.derived().evalTo(derived()); + call_assignment(derived(), other.derived()); return derived(); } @@ -114,7 +138,7 @@ template template Derived& DenseBase::operator+=(const EigenBase &other) { - other.derived().addTo(derived()); + call_assignment(derived(), other.derived(), internal::add_assign_op()); return derived(); } @@ -122,40 +146,10 @@ template template Derived& DenseBase::operator-=(const EigenBase &other) { - other.derived().subTo(derived()); - return derived(); -} - -/** replaces \c *this by \c *this * \a other. - * - * \returns a reference to \c *this - */ -template -template -inline Derived& -MatrixBase::operator*=(const EigenBase &other) -{ - other.derived().applyThisOnTheRight(derived()); + call_assignment(derived(), other.derived(), internal::sub_assign_op()); return derived(); } -/** replaces \c *this by \c *this * \a other. It is equivalent to MatrixBase::operator*=(). - */ -template -template -inline void MatrixBase::applyOnTheRight(const EigenBase &other) -{ - other.derived().applyThisOnTheRight(derived()); -} - -/** replaces \c *this by \c *this * \a other. */ -template -template -inline void MatrixBase::applyOnTheLeft(const EigenBase &other) -{ - other.derived().applyThisOnTheLeft(derived()); -} - } // end namespace Eigen #endif // EIGEN_EIGENBASE_H diff --git a/nuparu/include/Eigen/src/Core/Flagged.h b/nuparu/include/Eigen/src/Core/Flagged.h deleted file mode 100644 index 1f2955fc..00000000 --- a/nuparu/include/Eigen/src/Core/Flagged.h +++ /dev/null @@ -1,140 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2008 Benoit Jacob -// -// This Source Code Form is subject to the terms of the Mozilla -// Public License v. 2.0. If a copy of the MPL was not distributed -// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef EIGEN_FLAGGED_H -#define EIGEN_FLAGGED_H - -namespace Eigen { - -/** \class Flagged - * \ingroup Core_Module - * - * \brief Expression with modified flags - * - * \param ExpressionType the type of the object of which we are modifying the flags - * \param Added the flags added to the expression - * \param Removed the flags removed from the expression (has priority over Added). - * - * This class represents an expression whose flags have been modified. - * It is the return type of MatrixBase::flagged() - * and most of the time this is the only way it is used. - * - * \sa MatrixBase::flagged() - */ - -namespace internal { -template -struct traits > : traits -{ - enum { Flags = (ExpressionType::Flags | Added) & ~Removed }; -}; -} - -template class Flagged - : public MatrixBase > -{ - public: - - typedef MatrixBase Base; - - EIGEN_DENSE_PUBLIC_INTERFACE(Flagged) - typedef typename internal::conditional::ret, - ExpressionType, const ExpressionType&>::type ExpressionTypeNested; - typedef typename ExpressionType::InnerIterator InnerIterator; - - inline Flagged(const ExpressionType& matrix) : m_matrix(matrix) {} - - inline Index rows() const { return m_matrix.rows(); } - inline Index cols() const { return m_matrix.cols(); } - inline Index outerStride() const { return m_matrix.outerStride(); } - inline Index innerStride() const { return m_matrix.innerStride(); } - - inline CoeffReturnType coeff(Index row, Index col) const - { - return m_matrix.coeff(row, col); - } - - inline CoeffReturnType coeff(Index index) const - { - return m_matrix.coeff(index); - } - - inline const Scalar& coeffRef(Index row, Index col) const - { - return m_matrix.const_cast_derived().coeffRef(row, col); - } - - inline const Scalar& coeffRef(Index index) const - { - return m_matrix.const_cast_derived().coeffRef(index); - } - - inline Scalar& coeffRef(Index row, Index col) - { - return m_matrix.const_cast_derived().coeffRef(row, col); - } - - inline Scalar& coeffRef(Index index) - { - return m_matrix.const_cast_derived().coeffRef(index); - } - - template - inline const PacketScalar packet(Index row, Index col) const - { - return m_matrix.template packet(row, col); - } - - template - inline void writePacket(Index row, Index col, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket(row, col, x); - } - - template - inline const PacketScalar packet(Index index) const - { - return m_matrix.template packet(index); - } - - template - inline void writePacket(Index index, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket(index, x); - } - - const ExpressionType& _expression() const { return m_matrix; } - - template - typename ExpressionType::PlainObject solveTriangular(const MatrixBase& other) const; - - template - void solveTriangularInPlace(const MatrixBase& other) const; - - protected: - ExpressionTypeNested m_matrix; -}; - -/** \returns an expression of *this with added and removed flags - * - * This is mostly for internal use. - * - * \sa class Flagged - */ -template -template -inline const Flagged -DenseBase::flagged() const -{ - return derived(); -} - -} // end namespace Eigen - -#endif // EIGEN_FLAGGED_H diff --git a/nuparu/include/Eigen/src/Core/ForceAlignedAccess.h b/nuparu/include/Eigen/src/Core/ForceAlignedAccess.h index 807c7a29..7b08b45e 100644 --- a/nuparu/include/Eigen/src/Core/ForceAlignedAccess.h +++ b/nuparu/include/Eigen/src/Core/ForceAlignedAccess.h @@ -39,29 +39,29 @@ template class ForceAlignedAccess typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(ForceAlignedAccess) - inline ForceAlignedAccess(const ExpressionType& matrix) : m_expression(matrix) {} + EIGEN_DEVICE_FUNC explicit inline ForceAlignedAccess(const ExpressionType& matrix) : m_expression(matrix) {} - inline Index rows() const { return m_expression.rows(); } - inline Index cols() const { return m_expression.cols(); } - inline Index outerStride() const { return m_expression.outerStride(); } - inline Index innerStride() const { return m_expression.innerStride(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return m_expression.rows(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_expression.cols(); } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_expression.outerStride(); } + EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_expression.innerStride(); } - inline const CoeffReturnType coeff(Index row, Index col) const + EIGEN_DEVICE_FUNC inline const CoeffReturnType coeff(Index row, Index col) const { return m_expression.coeff(row, col); } - inline Scalar& coeffRef(Index row, Index col) + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index row, Index col) { return m_expression.const_cast_derived().coeffRef(row, col); } - inline const CoeffReturnType coeff(Index index) const + EIGEN_DEVICE_FUNC inline const CoeffReturnType coeff(Index index) const { return m_expression.coeff(index); } - inline Scalar& coeffRef(Index index) + EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) { return m_expression.const_cast_derived().coeffRef(index); } @@ -90,7 +90,7 @@ template class ForceAlignedAccess m_expression.const_cast_derived().template writePacket(index, x); } - operator const ExpressionType&() const { return m_expression; } + EIGEN_DEVICE_FUNC operator const ExpressionType&() const { return m_expression; } protected: const ExpressionType& m_expression; @@ -127,7 +127,7 @@ template inline typename internal::add_const_on_value_type,Derived&>::type>::type MatrixBase::forceAlignedAccessIf() const { - return derived(); + return derived(); // FIXME This should not work but apparently is never used } /** \returns an expression of *this with forced aligned access if \a Enable is true. @@ -138,7 +138,7 @@ template inline typename internal::conditional,Derived&>::type MatrixBase::forceAlignedAccessIf() { - return derived(); + return derived(); // FIXME This should not work but apparently is never used } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/Functors.h b/nuparu/include/Eigen/src/Core/Functors.h deleted file mode 100644 index 04fb2173..00000000 --- a/nuparu/include/Eigen/src/Core/Functors.h +++ /dev/null @@ -1,985 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2008-2010 Gael Guennebaud -// -// This Source Code Form is subject to the terms of the Mozilla -// Public License v. 2.0. If a copy of the MPL was not distributed -// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef EIGEN_FUNCTORS_H -#define EIGEN_FUNCTORS_H - -namespace Eigen { - -namespace internal { - -// associative functors: - -/** \internal - * \brief Template functor to compute the sum of two scalars - * - * \sa class CwiseBinaryOp, MatrixBase::operator+, class VectorwiseOp, MatrixBase::sum() - */ -template struct scalar_sum_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sum_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { return a + b; } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::padd(a,b); } - template - EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const - { return internal::predux(a); } -}; -template -struct functor_traits > { - enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasAdd - }; -}; - -/** \internal - * \brief Template functor to compute the product of two scalars - * - * \sa class CwiseBinaryOp, Cwise::operator*(), class VectorwiseOp, MatrixBase::redux() - */ -template struct scalar_product_op { - enum { - // TODO vectorize mixed product - Vectorizable = is_same::value && packet_traits::HasMul && packet_traits::HasMul - }; - typedef typename scalar_product_traits::ReturnType result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_product_op) - EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return a * b; } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::pmul(a,b); } - template - EIGEN_STRONG_INLINE const result_type predux(const Packet& a) const - { return internal::predux_mul(a); } -}; -template -struct functor_traits > { - enum { - Cost = (NumTraits::MulCost + NumTraits::MulCost)/2, // rough estimate! - PacketAccess = scalar_product_op::Vectorizable - }; -}; - -/** \internal - * \brief Template functor to compute the conjugate product of two scalars - * - * This is a short cut for conj(x) * y which is needed for optimization purpose; in Eigen2 support mode, this becomes x * conj(y) - */ -template struct scalar_conj_product_op { - - enum { - Conj = NumTraits::IsComplex - }; - - typedef typename scalar_product_traits::ReturnType result_type; - - EIGEN_EMPTY_STRUCT_CTOR(scalar_conj_product_op) - EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const - { return conj_helper().pmul(a,b); } - - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return conj_helper().pmul(a,b); } -}; -template -struct functor_traits > { - enum { - Cost = NumTraits::MulCost, - PacketAccess = internal::is_same::value && packet_traits::HasMul - }; -}; - -/** \internal - * \brief Template functor to compute the min of two scalars - * - * \sa class CwiseBinaryOp, MatrixBase::cwiseMin, class VectorwiseOp, MatrixBase::minCoeff() - */ -template struct scalar_min_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_min_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { using std::min; return (min)(a, b); } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::pmin(a,b); } - template - EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const - { return internal::predux_min(a); } -}; -template -struct functor_traits > { - enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasMin - }; -}; - -/** \internal - * \brief Template functor to compute the max of two scalars - * - * \sa class CwiseBinaryOp, MatrixBase::cwiseMax, class VectorwiseOp, MatrixBase::maxCoeff() - */ -template struct scalar_max_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_max_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { using std::max; return (max)(a, b); } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::pmax(a,b); } - template - EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const - { return internal::predux_max(a); } -}; -template -struct functor_traits > { - enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasMax - }; -}; - -/** \internal - * \brief Template functor to compute the hypot of two scalars - * - * \sa MatrixBase::stableNorm(), class Redux - */ -template struct scalar_hypot_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_hypot_op) -// typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& _x, const Scalar& _y) const - { - using std::max; - using std::min; - using std::sqrt; - Scalar p = (max)(_x, _y); - Scalar q = (min)(_x, _y); - Scalar qp = q/p; - return p * sqrt(Scalar(1) + qp*qp); - } -}; -template -struct functor_traits > { - enum { Cost = 5 * NumTraits::MulCost, PacketAccess=0 }; -}; - -/** \internal - * \brief Template functor to compute the pow of two scalars - */ -template struct scalar_binary_pow_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_binary_pow_op) - inline Scalar operator() (const Scalar& a, const OtherScalar& b) const { return numext::pow(a, b); } -}; -template -struct functor_traits > { - enum { Cost = 5 * NumTraits::MulCost, PacketAccess = false }; -}; - -// other binary functors: - -/** \internal - * \brief Template functor to compute the difference of two scalars - * - * \sa class CwiseBinaryOp, MatrixBase::operator- - */ -template struct scalar_difference_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_difference_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { return a - b; } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::psub(a,b); } -}; -template -struct functor_traits > { - enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasSub - }; -}; - -/** \internal - * \brief Template functor to compute the quotient of two scalars - * - * \sa class CwiseBinaryOp, Cwise::operator/() - */ -template struct scalar_quotient_op { - enum { - // TODO vectorize mixed product - Vectorizable = is_same::value && packet_traits::HasDiv && packet_traits::HasDiv - }; - typedef typename scalar_product_traits::ReturnType result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_quotient_op) - EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return a / b; } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const - { return internal::pdiv(a,b); } -}; -template -struct functor_traits > { - enum { - Cost = (NumTraits::MulCost + NumTraits::MulCost), // rough estimate! - PacketAccess = scalar_quotient_op::Vectorizable - }; -}; - - - -/** \internal - * \brief Template functor to compute the and of two booleans - * - * \sa class CwiseBinaryOp, ArrayBase::operator&& - */ -struct scalar_boolean_and_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_and_op) - EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a && b; } -}; -template<> struct functor_traits { - enum { - Cost = NumTraits::AddCost, - PacketAccess = false - }; -}; - -/** \internal - * \brief Template functor to compute the or of two booleans - * - * \sa class CwiseBinaryOp, ArrayBase::operator|| - */ -struct scalar_boolean_or_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_or_op) - EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a || b; } -}; -template<> struct functor_traits { - enum { - Cost = NumTraits::AddCost, - PacketAccess = false - }; -}; - -// unary functors: - -/** \internal - * \brief Template functor to compute the opposite of a scalar - * - * \sa class CwiseUnaryOp, MatrixBase::operator- - */ -template struct scalar_opposite_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_opposite_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return -a; } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const - { return internal::pnegate(a); } -}; -template -struct functor_traits > -{ enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasNegate }; -}; - -/** \internal - * \brief Template functor to compute the absolute value of a scalar - * - * \sa class CwiseUnaryOp, Cwise::abs - */ -template struct scalar_abs_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_abs_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { using std::abs; return abs(a); } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const - { return internal::pabs(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = NumTraits::AddCost, - PacketAccess = packet_traits::HasAbs - }; -}; - -/** \internal - * \brief Template functor to compute the squared absolute value of a scalar - * - * \sa class CwiseUnaryOp, Cwise::abs2 - */ -template struct scalar_abs2_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_abs2_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::abs2(a); } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const - { return internal::pmul(a,a); } -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = packet_traits::HasAbs2 }; }; - -/** \internal - * \brief Template functor to compute the conjugate of a complex value - * - * \sa class CwiseUnaryOp, MatrixBase::conjugate() - */ -template struct scalar_conjugate_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_conjugate_op) - EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::conj; return conj(a); } - template - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { return internal::pconj(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = NumTraits::IsComplex ? NumTraits::AddCost : 0, - PacketAccess = packet_traits::HasConj - }; -}; - -/** \internal - * \brief Template functor to cast a scalar to another type - * - * \sa class CwiseUnaryOp, MatrixBase::cast() - */ -template -struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) - typedef NewType result_type; - EIGEN_STRONG_INLINE const NewType operator() (const Scalar& a) const { return cast(a); } -}; -template -struct functor_traits > -{ enum { Cost = is_same::value ? 0 : NumTraits::AddCost, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to extract the real part of a complex - * - * \sa class CwiseUnaryOp, MatrixBase::real() - */ -template -struct scalar_real_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_real_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::real(a); } -}; -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to extract the imaginary part of a complex - * - * \sa class CwiseUnaryOp, MatrixBase::imag() - */ -template -struct scalar_imag_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::imag(a); } -}; -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to extract the real part of a complex as a reference - * - * \sa class CwiseUnaryOp, MatrixBase::real() - */ -template -struct scalar_real_ref_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_real_ref_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::real_ref(*const_cast(&a)); } -}; -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to extract the imaginary part of a complex as a reference - * - * \sa class CwiseUnaryOp, MatrixBase::imag() - */ -template -struct scalar_imag_ref_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_ref_op) - typedef typename NumTraits::Real result_type; - EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::imag_ref(*const_cast(&a)); } -}; -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -/** \internal - * - * \brief Template functor to compute the exponential of a scalar - * - * \sa class CwiseUnaryOp, Cwise::exp() - */ -template struct scalar_exp_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_exp_op) - inline const Scalar operator() (const Scalar& a) const { using std::exp; return exp(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::pexp(a); } -}; -template -struct functor_traits > -{ enum { Cost = 5 * NumTraits::MulCost, PacketAccess = packet_traits::HasExp }; }; - -/** \internal - * - * \brief Template functor to compute the logarithm of a scalar - * - * \sa class CwiseUnaryOp, Cwise::log() - */ -template struct scalar_log_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_log_op) - inline const Scalar operator() (const Scalar& a) const { using std::log; return log(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::plog(a); } -}; -template -struct functor_traits > -{ enum { Cost = 5 * NumTraits::MulCost, PacketAccess = packet_traits::HasLog }; }; - -/** \internal - * \brief Template functor to multiply a scalar by a fixed other one - * - * \sa class CwiseUnaryOp, MatrixBase::operator*, MatrixBase::operator/ - */ -/* NOTE why doing the pset1() in packetOp *is* an optimization ? - * indeed it seems better to declare m_other as a Packet and do the pset1() once - * in the constructor. However, in practice: - * - GCC does not like m_other as a Packet and generate a load every time it needs it - * - on the other hand GCC is able to moves the pset1() outside the loop :) - * - simpler code ;) - * (ICC and gcc 4.4 seems to perform well in both cases, the issue is visible with y = a*x + b*y) - */ -template -struct scalar_multiple_op { - typedef typename packet_traits::type Packet; - // FIXME default copy constructors seems bugged with std::complex<> - EIGEN_STRONG_INLINE scalar_multiple_op(const scalar_multiple_op& other) : m_other(other.m_other) { } - EIGEN_STRONG_INLINE scalar_multiple_op(const Scalar& other) : m_other(other) { } - EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a) const { return a * m_other; } - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const - { return internal::pmul(a, pset1(m_other)); } - typename add_const_on_value_type::Nested>::type m_other; -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = packet_traits::HasMul }; }; - -template -struct scalar_multiple2_op { - typedef typename scalar_product_traits::ReturnType result_type; - EIGEN_STRONG_INLINE scalar_multiple2_op(const scalar_multiple2_op& other) : m_other(other.m_other) { } - EIGEN_STRONG_INLINE scalar_multiple2_op(const Scalar2& other) : m_other(other) { } - EIGEN_STRONG_INLINE result_type operator() (const Scalar1& a) const { return a * m_other; } - typename add_const_on_value_type::Nested>::type m_other; -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to divide a scalar by a fixed other one - * - * This functor is used to implement the quotient of a matrix by - * a scalar where the scalar type is not necessarily a floating point type. - * - * \sa class CwiseUnaryOp, MatrixBase::operator/ - */ -template -struct scalar_quotient1_op { - typedef typename packet_traits::type Packet; - // FIXME default copy constructors seems bugged with std::complex<> - EIGEN_STRONG_INLINE scalar_quotient1_op(const scalar_quotient1_op& other) : m_other(other.m_other) { } - EIGEN_STRONG_INLINE scalar_quotient1_op(const Scalar& other) : m_other(other) {} - EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a) const { return a / m_other; } - EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const - { return internal::pdiv(a, pset1(m_other)); } - typename add_const_on_value_type::Nested>::type m_other; -}; -template -struct functor_traits > -{ enum { Cost = 2 * NumTraits::MulCost, PacketAccess = packet_traits::HasDiv }; }; - -// nullary functors - -template -struct scalar_constant_op { - typedef typename packet_traits::type Packet; - EIGEN_STRONG_INLINE scalar_constant_op(const scalar_constant_op& other) : m_other(other.m_other) { } - EIGEN_STRONG_INLINE scalar_constant_op(const Scalar& other) : m_other(other) { } - template - EIGEN_STRONG_INLINE const Scalar operator() (Index, Index = 0) const { return m_other; } - template - EIGEN_STRONG_INLINE const Packet packetOp(Index, Index = 0) const { return internal::pset1(m_other); } - const Scalar m_other; -}; -template -struct functor_traits > -// FIXME replace this packet test by a safe one -{ enum { Cost = 1, PacketAccess = packet_traits::Vectorizable, IsRepeatable = true }; }; - -template struct scalar_identity_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_identity_op) - template - EIGEN_STRONG_INLINE const Scalar operator() (Index row, Index col) const { return row==col ? Scalar(1) : Scalar(0); } -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::AddCost, PacketAccess = false, IsRepeatable = true }; }; - -template struct linspaced_op_impl; - -// linear access for packet ops: -// 1) initialization -// base = [low, ..., low] + ([step, ..., step] * [-size, ..., 0]) -// 2) each step (where size is 1 for coeff access or PacketSize for packet access) -// base += [size*step, ..., size*step] -// -// TODO: Perhaps it's better to initialize lazily (so not in the constructor but in packetOp) -// in order to avoid the padd() in operator() ? -template -struct linspaced_op_impl -{ - typedef typename packet_traits::type Packet; - - linspaced_op_impl(const Scalar& low, const Scalar& step) : - m_low(low), m_step(step), - m_packetStep(pset1(packet_traits::size*step)), - m_base(padd(pset1(low), pmul(pset1(step),plset(-packet_traits::size)))) {} - - template - EIGEN_STRONG_INLINE const Scalar operator() (Index i) const - { - m_base = padd(m_base, pset1(m_step)); - return m_low+Scalar(i)*m_step; - } - - template - EIGEN_STRONG_INLINE const Packet packetOp(Index) const { return m_base = padd(m_base,m_packetStep); } - - const Scalar m_low; - const Scalar m_step; - const Packet m_packetStep; - mutable Packet m_base; -}; - -// random access for packet ops: -// 1) each step -// [low, ..., low] + ( [step, ..., step] * ( [i, ..., i] + [0, ..., size] ) ) -template -struct linspaced_op_impl -{ - typedef typename packet_traits::type Packet; - - linspaced_op_impl(const Scalar& low, const Scalar& step) : - m_low(low), m_step(step), - m_lowPacket(pset1(m_low)), m_stepPacket(pset1(m_step)), m_interPacket(plset(0)) {} - - template - EIGEN_STRONG_INLINE const Scalar operator() (Index i) const { return m_low+i*m_step; } - - template - EIGEN_STRONG_INLINE const Packet packetOp(Index i) const - { return internal::padd(m_lowPacket, pmul(m_stepPacket, padd(pset1(i),m_interPacket))); } - - const Scalar m_low; - const Scalar m_step; - const Packet m_lowPacket; - const Packet m_stepPacket; - const Packet m_interPacket; -}; - -// ----- Linspace functor ---------------------------------------------------------------- - -// Forward declaration (we default to random access which does not really give -// us a speed gain when using packet access but it allows to use the functor in -// nested expressions). -template struct linspaced_op; -template struct functor_traits< linspaced_op > -{ enum { Cost = 1, PacketAccess = packet_traits::HasSetLinear, IsRepeatable = true }; }; -template struct linspaced_op -{ - typedef typename packet_traits::type Packet; - linspaced_op(const Scalar& low, const Scalar& high, DenseIndex num_steps) : impl((num_steps==1 ? high : low), (num_steps==1 ? Scalar() : (high-low)/(num_steps-1))) {} - - template - EIGEN_STRONG_INLINE const Scalar operator() (Index i) const { return impl(i); } - - // We need this function when assigning e.g. a RowVectorXd to a MatrixXd since - // there row==0 and col is used for the actual iteration. - template - EIGEN_STRONG_INLINE const Scalar operator() (Index row, Index col) const - { - eigen_assert(col==0 || row==0); - return impl(col + row); - } - - template - EIGEN_STRONG_INLINE const Packet packetOp(Index i) const { return impl.packetOp(i); } - - // We need this function when assigning e.g. a RowVectorXd to a MatrixXd since - // there row==0 and col is used for the actual iteration. - template - EIGEN_STRONG_INLINE const Packet packetOp(Index row, Index col) const - { - eigen_assert(col==0 || row==0); - return impl.packetOp(col + row); - } - - // This proxy object handles the actual required temporaries, the different - // implementations (random vs. sequential access) as well as the - // correct piping to size 2/4 packet operations. - const linspaced_op_impl impl; -}; - -// all functors allow linear access, except scalar_identity_op. So we fix here a quick meta -// to indicate whether a functor allows linear access, just always answering 'yes' except for -// scalar_identity_op. -// FIXME move this to functor_traits adding a functor_default -template struct functor_has_linear_access { enum { ret = 1 }; }; -template struct functor_has_linear_access > { enum { ret = 0 }; }; - -// In Eigen, any binary op (Product, CwiseBinaryOp) require the Lhs and Rhs to have the same scalar type, except for multiplication -// where the mixing of different types is handled by scalar_product_traits -// In particular, real * complex is allowed. -// FIXME move this to functor_traits adding a functor_default -template struct functor_is_product_like { enum { ret = 0 }; }; -template struct functor_is_product_like > { enum { ret = 1 }; }; -template struct functor_is_product_like > { enum { ret = 1 }; }; -template struct functor_is_product_like > { enum { ret = 1 }; }; - - -/** \internal - * \brief Template functor to add a scalar to a fixed other one - * \sa class CwiseUnaryOp, Array::operator+ - */ -/* If you wonder why doing the pset1() in packetOp() is an optimization check scalar_multiple_op */ -template -struct scalar_add_op { - typedef typename packet_traits::type Packet; - // FIXME default copy constructors seems bugged with std::complex<> - inline scalar_add_op(const scalar_add_op& other) : m_other(other.m_other) { } - inline scalar_add_op(const Scalar& other) : m_other(other) { } - inline Scalar operator() (const Scalar& a) const { return a + m_other; } - inline const Packet packetOp(const Packet& a) const - { return internal::padd(a, pset1(m_other)); } - const Scalar m_other; -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::AddCost, PacketAccess = packet_traits::HasAdd }; }; - -/** \internal - * \brief Template functor to compute the square root of a scalar - * \sa class CwiseUnaryOp, Cwise::sqrt() - */ -template struct scalar_sqrt_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sqrt_op) - inline const Scalar operator() (const Scalar& a) const { using std::sqrt; return sqrt(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::psqrt(a); } -}; -template -struct functor_traits > -{ enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasSqrt - }; -}; - -/** \internal - * \brief Template functor to compute the cosine of a scalar - * \sa class CwiseUnaryOp, ArrayBase::cos() - */ -template struct scalar_cos_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cos_op) - inline Scalar operator() (const Scalar& a) const { using std::cos; return cos(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::pcos(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasCos - }; -}; - -/** \internal - * \brief Template functor to compute the sine of a scalar - * \sa class CwiseUnaryOp, ArrayBase::sin() - */ -template struct scalar_sin_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sin_op) - inline const Scalar operator() (const Scalar& a) const { using std::sin; return sin(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::psin(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasSin - }; -}; - - -/** \internal - * \brief Template functor to compute the tan of a scalar - * \sa class CwiseUnaryOp, ArrayBase::tan() - */ -template struct scalar_tan_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_tan_op) - inline const Scalar operator() (const Scalar& a) const { using std::tan; return tan(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::ptan(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasTan - }; -}; - -/** \internal - * \brief Template functor to compute the arc cosine of a scalar - * \sa class CwiseUnaryOp, ArrayBase::acos() - */ -template struct scalar_acos_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_acos_op) - inline const Scalar operator() (const Scalar& a) const { using std::acos; return acos(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::pacos(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasACos - }; -}; - -/** \internal - * \brief Template functor to compute the arc sine of a scalar - * \sa class CwiseUnaryOp, ArrayBase::asin() - */ -template struct scalar_asin_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_asin_op) - inline const Scalar operator() (const Scalar& a) const { using std::asin; return asin(a); } - typedef typename packet_traits::type Packet; - inline Packet packetOp(const Packet& a) const { return internal::pasin(a); } -}; -template -struct functor_traits > -{ - enum { - Cost = 5 * NumTraits::MulCost, - PacketAccess = packet_traits::HasASin - }; -}; - -/** \internal - * \brief Template functor to raise a scalar to a power - * \sa class CwiseUnaryOp, Cwise::pow - */ -template -struct scalar_pow_op { - // FIXME default copy constructors seems bugged with std::complex<> - inline scalar_pow_op(const scalar_pow_op& other) : m_exponent(other.m_exponent) { } - inline scalar_pow_op(const Scalar& exponent) : m_exponent(exponent) {} - inline Scalar operator() (const Scalar& a) const { return numext::pow(a, m_exponent); } - const Scalar m_exponent; -}; -template -struct functor_traits > -{ enum { Cost = 5 * NumTraits::MulCost, PacketAccess = false }; }; - -/** \internal - * \brief Template functor to compute the quotient between a scalar and array entries. - * \sa class CwiseUnaryOp, Cwise::inverse() - */ -template -struct scalar_inverse_mult_op { - scalar_inverse_mult_op(const Scalar& other) : m_other(other) {} - inline Scalar operator() (const Scalar& a) const { return m_other / a; } - template - inline const Packet packetOp(const Packet& a) const - { return internal::pdiv(pset1(m_other),a); } - Scalar m_other; -}; - -/** \internal - * \brief Template functor to compute the inverse of a scalar - * \sa class CwiseUnaryOp, Cwise::inverse() - */ -template -struct scalar_inverse_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_inverse_op) - inline Scalar operator() (const Scalar& a) const { return Scalar(1)/a; } - template - inline const Packet packetOp(const Packet& a) const - { return internal::pdiv(pset1(Scalar(1)),a); } -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = packet_traits::HasDiv }; }; - -/** \internal - * \brief Template functor to compute the square of a scalar - * \sa class CwiseUnaryOp, Cwise::square() - */ -template -struct scalar_square_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_square_op) - inline Scalar operator() (const Scalar& a) const { return a*a; } - template - inline const Packet packetOp(const Packet& a) const - { return internal::pmul(a,a); } -}; -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = packet_traits::HasMul }; }; - -/** \internal - * \brief Template functor to compute the cube of a scalar - * \sa class CwiseUnaryOp, Cwise::cube() - */ -template -struct scalar_cube_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cube_op) - inline Scalar operator() (const Scalar& a) const { return a*a*a; } - template - inline const Packet packetOp(const Packet& a) const - { return internal::pmul(a,pmul(a,a)); } -}; -template -struct functor_traits > -{ enum { Cost = 2*NumTraits::MulCost, PacketAccess = packet_traits::HasMul }; }; - -// default functor traits for STL functors: - -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = NumTraits::MulCost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = NumTraits::AddCost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = NumTraits::AddCost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = NumTraits::AddCost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = functor_traits::Cost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = functor_traits::Cost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1 + functor_traits::Cost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 1 + functor_traits::Cost, PacketAccess = false }; }; - -#ifdef EIGEN_STDEXT_SUPPORT - -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = 0, PacketAccess = false }; }; - -template -struct functor_traits > > -{ enum { Cost = 0, PacketAccess = false }; }; - -template -struct functor_traits > > -{ enum { Cost = 0, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = functor_traits::Cost + functor_traits::Cost, PacketAccess = false }; }; - -template -struct functor_traits > -{ enum { Cost = functor_traits::Cost + functor_traits::Cost + functor_traits::Cost, PacketAccess = false }; }; - -#endif // EIGEN_STDEXT_SUPPORT - -// allow to add new functors and specializations of functor_traits from outside Eigen. -// this macro is really needed because functor_traits must be specialized after it is declared but before it is used... -#ifdef EIGEN_FUNCTORS_PLUGIN -#include EIGEN_FUNCTORS_PLUGIN -#endif - -} // end namespace internal - -} // end namespace Eigen - -#endif // EIGEN_FUNCTORS_H diff --git a/nuparu/include/Eigen/src/Core/Fuzzy.h b/nuparu/include/Eigen/src/Core/Fuzzy.h index fe63bd29..3e403a09 100644 --- a/nuparu/include/Eigen/src/Core/Fuzzy.h +++ b/nuparu/include/Eigen/src/Core/Fuzzy.h @@ -19,18 +19,19 @@ namespace internal template::IsInteger> struct isApprox_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar& prec) { - using std::min; - typename internal::nested::type nested(x); - typename internal::nested::type otherNested(y); - return (nested - otherNested).cwiseAbs2().sum() <= prec * prec * (min)(nested.cwiseAbs2().sum(), otherNested.cwiseAbs2().sum()); + typename internal::nested_eval::type nested(x); + typename internal::nested_eval::type otherNested(y); + return (nested - otherNested).cwiseAbs2().sum() <= prec * prec * numext::mini(nested.cwiseAbs2().sum(), otherNested.cwiseAbs2().sum()); } }; template struct isApprox_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar&) { return x.matrix() == y.matrix(); @@ -40,6 +41,7 @@ struct isApprox_selector template::IsInteger> struct isMuchSmallerThan_object_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar& prec) { return x.cwiseAbs2().sum() <= numext::abs2(prec) * y.cwiseAbs2().sum(); @@ -49,6 +51,7 @@ struct isMuchSmallerThan_object_selector template struct isMuchSmallerThan_object_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const OtherDerived&, const typename Derived::RealScalar&) { return x.matrix() == Derived::Zero(x.rows(), x.cols()).matrix(); @@ -58,6 +61,7 @@ struct isMuchSmallerThan_object_selector template::IsInteger> struct isMuchSmallerThan_scalar_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const typename Derived::RealScalar& y, const typename Derived::RealScalar& prec) { return x.cwiseAbs2().sum() <= numext::abs2(prec * y); @@ -67,6 +71,7 @@ struct isMuchSmallerThan_scalar_selector template struct isMuchSmallerThan_scalar_selector { + EIGEN_DEVICE_FUNC static bool run(const Derived& x, const typename Derived::RealScalar&, const typename Derived::RealScalar&) { return x.matrix() == Derived::Zero(x.rows(), x.cols()).matrix(); diff --git a/nuparu/include/Eigen/src/Core/GeneralProduct.h b/nuparu/include/Eigen/src/Core/GeneralProduct.h index 2a59d946..fe8204ac 100644 --- a/nuparu/include/Eigen/src/Core/GeneralProduct.h +++ b/nuparu/include/Eigen/src/Core/GeneralProduct.h @@ -11,29 +11,7 @@ #ifndef EIGEN_GENERAL_PRODUCT_H #define EIGEN_GENERAL_PRODUCT_H -namespace Eigen { - -/** \class GeneralProduct - * \ingroup Core_Module - * - * \brief Expression of the product of two general matrices or vectors - * - * \param LhsNested the type used to store the left-hand side - * \param RhsNested the type used to store the right-hand side - * \param ProductMode the type of the product - * - * This class represents an expression of the product of two general matrices. - * We call a general matrix, a dense matrix with full storage. For instance, - * This excludes triangular, selfadjoint, and sparse matrices. - * It is the return type of the operator* between general matrices. Its template - * arguments are determined automatically by ProductReturnType. Therefore, - * GeneralProduct should never be used direclty. To determine the result type of a - * function which involves a matrix product, use ProductReturnType::Type. - * - * \sa ProductReturnType, MatrixBase::operator*(const MatrixBase&) - */ -template::value> -class GeneralProduct; +namespace Eigen { enum { Large = 2, @@ -59,15 +37,14 @@ template struct product_type typedef typename remove_all::type _Lhs; typedef typename remove_all::type _Rhs; enum { - MaxRows = _Lhs::MaxRowsAtCompileTime, - Rows = _Lhs::RowsAtCompileTime, - MaxCols = _Rhs::MaxColsAtCompileTime, - Cols = _Rhs::ColsAtCompileTime, - MaxDepth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::MaxColsAtCompileTime, - _Rhs::MaxRowsAtCompileTime), - Depth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::ColsAtCompileTime, - _Rhs::RowsAtCompileTime), - LargeThreshold = EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD + MaxRows = traits<_Lhs>::MaxRowsAtCompileTime, + Rows = traits<_Lhs>::RowsAtCompileTime, + MaxCols = traits<_Rhs>::MaxColsAtCompileTime, + Cols = traits<_Rhs>::ColsAtCompileTime, + MaxDepth = EIGEN_SIZE_MIN_PREFER_FIXED(traits<_Lhs>::MaxColsAtCompileTime, + traits<_Rhs>::MaxRowsAtCompileTime), + Depth = EIGEN_SIZE_MIN_PREFER_FIXED(traits<_Lhs>::ColsAtCompileTime, + traits<_Rhs>::RowsAtCompileTime) }; // the splitting into different lines of code here, introducing the _select enums and the typedef below, @@ -82,7 +59,8 @@ template struct product_type public: enum { - value = selector::ret + value = selector::ret, + ret = selector::ret }; #ifdef EIGEN_DEBUG_PRODUCT static void debug() @@ -98,6 +76,31 @@ template struct product_type #endif }; +// template struct product_tag +// { +// private: +// +// typedef typename remove_all::type _Lhs; +// typedef typename remove_all::type _Rhs; +// enum { +// Rows = _Lhs::RowsAtCompileTime, +// Cols = _Rhs::ColsAtCompileTime, +// Depth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::ColsAtCompileTime, _Rhs::RowsAtCompileTime) +// }; +// +// enum { +// rows_select = Rows==1 ? int(Rows) : int(Large), +// cols_select = Cols==1 ? int(Cols) : int(Large), +// depth_select = Depth==1 ? int(Depth) : int(Large) +// }; +// typedef product_type_selector selector; +// +// public: +// enum { +// ret = selector::ret +// }; +// +// }; /* The following allows to select the kind of product at compile time * based on the three dimensions of the product. @@ -128,54 +131,6 @@ template<> struct product_type_selector { enum } // end namespace internal -/** \class ProductReturnType - * \ingroup Core_Module - * - * \brief Helper class to get the correct and optimized returned type of operator* - * - * \param Lhs the type of the left-hand side - * \param Rhs the type of the right-hand side - * \param ProductMode the type of the product (determined automatically by internal::product_mode) - * - * This class defines the typename Type representing the optimized product expression - * between two matrix expressions. In practice, using ProductReturnType::Type - * is the recommended way to define the result type of a function returning an expression - * which involve a matrix product. The class Product should never be - * used directly. - * - * \sa class Product, MatrixBase::operator*(const MatrixBase&) - */ -template -struct ProductReturnType -{ - // TODO use the nested type to reduce instanciations ???? -// typedef typename internal::nested::type LhsNested; -// typedef typename internal::nested::type RhsNested; - - typedef GeneralProduct Type; -}; - -template -struct ProductReturnType -{ - typedef typename internal::nested::type >::type LhsNested; - typedef typename internal::nested::type >::type RhsNested; - typedef CoeffBasedProduct Type; -}; - -template -struct ProductReturnType -{ - typedef typename internal::nested::type >::type LhsNested; - typedef typename internal::nested::type >::type RhsNested; - typedef CoeffBasedProduct Type; -}; - -// this is a workaround for sun CC -template -struct LazyProductReturnType : public ProductReturnType -{}; - /*********************************************************************** * Implementation of Inner Vector Vector Product ***********************************************************************/ @@ -187,119 +142,10 @@ struct LazyProductReturnType : public ProductReturnType with: operator=(Scalar x); -namespace internal { - -template -struct traits > - : traits::ReturnType,1,1> > -{}; - -} - -template -class GeneralProduct - : internal::no_assignment_operator, - public Matrix::ReturnType,1,1> -{ - typedef Matrix::ReturnType,1,1> Base; - public: - GeneralProduct(const Lhs& lhs, const Rhs& rhs) - { - EIGEN_STATIC_ASSERT((internal::is_same::value), - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - - Base::coeffRef(0,0) = (lhs.transpose().cwiseProduct(rhs)).sum(); - } - - /** Convertion to scalar */ - operator const typename Base::Scalar() const { - return Base::coeff(0,0); - } -}; - /*********************************************************************** * Implementation of Outer Vector Vector Product ***********************************************************************/ -namespace internal { - -// Column major -template -EIGEN_DONT_INLINE void outer_product_selector_run(const ProductType& prod, Dest& dest, const Func& func, const false_type&) -{ - typedef typename Dest::Index Index; - // FIXME make sure lhs is sequentially stored - // FIXME not very good if rhs is real and lhs complex while alpha is real too - const Index cols = dest.cols(); - for (Index j=0; j -EIGEN_DONT_INLINE void outer_product_selector_run(const ProductType& prod, Dest& dest, const Func& func, const true_type&) { - typedef typename Dest::Index Index; - // FIXME make sure rhs is sequentially stored - // FIXME not very good if lhs is real and rhs complex while alpha is real too - const Index rows = dest.rows(); - for (Index i=0; i -struct traits > - : traits, Lhs, Rhs> > -{}; - -} - -template -class GeneralProduct - : public ProductBase, Lhs, Rhs> -{ - template struct IsRowMajor : internal::conditional<(int(T::Flags)&RowMajorBit), internal::true_type, internal::false_type>::type {}; - - public: - EIGEN_PRODUCT_PUBLIC_INTERFACE(GeneralProduct) - - GeneralProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) - { - EIGEN_STATIC_ASSERT((internal::is_same::value), - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - } - - struct set { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() = src; } }; - struct add { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() += src; } }; - struct sub { template void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() -= src; } }; - struct adds { - Scalar m_scale; - adds(const Scalar& s) : m_scale(s) {} - template void operator()(const Dst& dst, const Src& src) const { - dst.const_cast_derived() += m_scale * src; - } - }; - - template - inline void evalTo(Dest& dest) const { - internal::outer_product_selector_run(*this, dest, set(), IsRowMajor()); - } - - template - inline void addTo(Dest& dest) const { - internal::outer_product_selector_run(*this, dest, add(), IsRowMajor()); - } - - template - inline void subTo(Dest& dest) const { - internal::outer_product_selector_run(*this, dest, sub(), IsRowMajor()); - } - - template void scaleAndAddTo(Dest& dest, const Scalar& alpha) const - { - internal::outer_product_selector_run(*this, dest, adds(alpha), IsRowMajor()); - } -}; - /*********************************************************************** * Implementation of General Matrix Vector Product ***********************************************************************/ @@ -313,60 +159,13 @@ class GeneralProduct */ namespace internal { -template -struct traits > - : traits, Lhs, Rhs> > -{}; - template -struct gemv_selector; +struct gemv_dense_selector; } // end namespace internal -template -class GeneralProduct - : public ProductBase, Lhs, Rhs> -{ - public: - EIGEN_PRODUCT_PUBLIC_INTERFACE(GeneralProduct) - - typedef typename Lhs::Scalar LhsScalar; - typedef typename Rhs::Scalar RhsScalar; - - GeneralProduct(const Lhs& a_lhs, const Rhs& a_rhs) : Base(a_lhs,a_rhs) - { -// EIGEN_STATIC_ASSERT((internal::is_same::value), -// YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - } - - enum { Side = Lhs::IsVectorAtCompileTime ? OnTheLeft : OnTheRight }; - typedef typename internal::conditional::type MatrixType; - - template void scaleAndAddTo(Dest& dst, const Scalar& alpha) const - { - eigen_assert(m_lhs.rows() == dst.rows() && m_rhs.cols() == dst.cols()); - internal::gemv_selector::HasUsableDirectAccess)>::run(*this, dst, alpha); - } -}; - namespace internal { -// The vector is on the left => transposition -template -struct gemv_selector -{ - template - static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha) - { - Transpose destT(dest); - enum { OtherStorageOrder = StorageOrder == RowMajor ? ColMajor : RowMajor }; - gemv_selector - ::run(GeneralProduct,Transpose, GemvProduct> - (prod.rhs().transpose(), prod.lhs().transpose()), destT, alpha); - } -}; - template struct gemv_static_vector_if; template @@ -384,7 +183,7 @@ struct gemv_static_vector_if template struct gemv_static_vector_if { - #if EIGEN_ALIGN_STATICALLY + #if EIGEN_MAX_STATIC_ALIGN_BYTES!=0 internal::plain_array m_data; EIGEN_STRONG_INLINE Scalar* data() { return m_data.array; } #else @@ -397,33 +196,48 @@ struct gemv_static_vector_if internal::plain_array m_data; EIGEN_STRONG_INLINE Scalar* data() { return ForceAlignment - ? reinterpret_cast((reinterpret_cast(m_data.array) & ~(size_t(15))) + 16) + ? reinterpret_cast((reinterpret_cast(m_data.array) & ~(size_t(EIGEN_MAX_ALIGN_BYTES-1))) + EIGEN_MAX_ALIGN_BYTES) : m_data.array; } #endif }; -template<> struct gemv_selector +// The vector is on the left => transposition +template +struct gemv_dense_selector +{ + template + static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) + { + Transpose destT(dest); + enum { OtherStorageOrder = StorageOrder == RowMajor ? ColMajor : RowMajor }; + gemv_dense_selector + ::run(rhs.transpose(), lhs.transpose(), destT, alpha); + } +}; + +template<> struct gemv_dense_selector { - template - static inline void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha) + template + static inline void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - typedef typename ProductType::Index Index; - typedef typename ProductType::LhsScalar LhsScalar; - typedef typename ProductType::RhsScalar RhsScalar; - typedef typename ProductType::Scalar ResScalar; - typedef typename ProductType::RealScalar RealScalar; - typedef typename ProductType::ActualLhsType ActualLhsType; - typedef typename ProductType::ActualRhsType ActualRhsType; - typedef typename ProductType::LhsBlasTraits LhsBlasTraits; - typedef typename ProductType::RhsBlasTraits RhsBlasTraits; + typedef typename Lhs::Scalar LhsScalar; + typedef typename Rhs::Scalar RhsScalar; + typedef typename Dest::Scalar ResScalar; + typedef typename Dest::RealScalar RealScalar; + + typedef internal::blas_traits LhsBlasTraits; + typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType; + typedef internal::blas_traits RhsBlasTraits; + typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType; + typedef Map, Aligned> MappedDest; - ActualLhsType actualLhs = LhsBlasTraits::extract(prod.lhs()); - ActualRhsType actualRhs = RhsBlasTraits::extract(prod.rhs()); + ActualLhsType actualLhs = LhsBlasTraits::extract(lhs); + ActualRhsType actualRhs = RhsBlasTraits::extract(rhs); - ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs()) - * RhsBlasTraits::extractScalarFactor(prod.rhs()); + ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(lhs) + * RhsBlasTraits::extractScalarFactor(rhs); enum { // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 @@ -435,18 +249,18 @@ template<> struct gemv_selector gemv_static_vector_if static_dest; - bool alphaIsCompatible = (!ComplexByReal) || (numext::imag(actualAlpha)==RealScalar(0)); - bool evalToDest = EvalToDestAtCompileTime && alphaIsCompatible; - + const bool alphaIsCompatible = (!ComplexByReal) || (numext::imag(actualAlpha)==RealScalar(0)); + const bool evalToDest = EvalToDestAtCompileTime && alphaIsCompatible; + RhsScalar compatibleAlpha = get_factor::run(actualAlpha); ei_declare_aligned_stack_constructed_variable(ResScalar,actualDestPtr,dest.size(), evalToDest ? dest.data() : static_dest.data()); - + if(!evalToDest) { #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN - int size = dest.size(); + Index size = dest.size(); EIGEN_DENSE_STORAGE_CTOR_PLUGIN #endif if(!alphaIsCompatible) @@ -458,11 +272,13 @@ template<> struct gemv_selector MappedDest(actualDestPtr, dest.size()) = dest; } + typedef const_blas_data_mapper LhsMapper; + typedef const_blas_data_mapper RhsMapper; general_matrix_vector_product - ::run( + ::run( actualLhs.rows(), actualLhs.cols(), - actualLhs.data(), actualLhs.outerStride(), - actualRhs.data(), actualRhs.innerStride(), + LhsMapper(actualLhs.data(), actualLhs.outerStride()), + RhsMapper(actualRhs.data(), actualRhs.innerStride()), actualDestPtr, 1, compatibleAlpha); @@ -476,34 +292,34 @@ template<> struct gemv_selector } }; -template<> struct gemv_selector +template<> struct gemv_dense_selector { - template - static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha) + template + static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - typedef typename ProductType::LhsScalar LhsScalar; - typedef typename ProductType::RhsScalar RhsScalar; - typedef typename ProductType::Scalar ResScalar; - typedef typename ProductType::Index Index; - typedef typename ProductType::ActualLhsType ActualLhsType; - typedef typename ProductType::ActualRhsType ActualRhsType; - typedef typename ProductType::_ActualRhsType _ActualRhsType; - typedef typename ProductType::LhsBlasTraits LhsBlasTraits; - typedef typename ProductType::RhsBlasTraits RhsBlasTraits; - - typename add_const::type actualLhs = LhsBlasTraits::extract(prod.lhs()); - typename add_const::type actualRhs = RhsBlasTraits::extract(prod.rhs()); - - ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs()) - * RhsBlasTraits::extractScalarFactor(prod.rhs()); + typedef typename Lhs::Scalar LhsScalar; + typedef typename Rhs::Scalar RhsScalar; + typedef typename Dest::Scalar ResScalar; + + typedef internal::blas_traits LhsBlasTraits; + typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType; + typedef internal::blas_traits RhsBlasTraits; + typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType; + typedef typename internal::remove_all::type ActualRhsTypeCleaned; + + typename add_const::type actualLhs = LhsBlasTraits::extract(lhs); + typename add_const::type actualRhs = RhsBlasTraits::extract(rhs); + + ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(lhs) + * RhsBlasTraits::extractScalarFactor(rhs); enum { // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 // on, the other hand it is good for the cache to pack the vector anyways... - DirectlyUseRhs = _ActualRhsType::InnerStrideAtCompileTime==1 + DirectlyUseRhs = ActualRhsTypeCleaned::InnerStrideAtCompileTime==1 }; - gemv_static_vector_if static_rhs; + gemv_static_vector_if static_rhs; ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(), DirectlyUseRhs ? const_cast(actualRhs.data()) : static_rhs.data()); @@ -511,45 +327,46 @@ template<> struct gemv_selector if(!DirectlyUseRhs) { #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN - int size = actualRhs.size(); + Index size = actualRhs.size(); EIGEN_DENSE_STORAGE_CTOR_PLUGIN #endif - Map(actualRhsPtr, actualRhs.size()) = actualRhs; + Map(actualRhsPtr, actualRhs.size()) = actualRhs; } + typedef const_blas_data_mapper LhsMapper; + typedef const_blas_data_mapper RhsMapper; general_matrix_vector_product - ::run( + ::run( actualLhs.rows(), actualLhs.cols(), - actualLhs.data(), actualLhs.outerStride(), - actualRhsPtr, 1, + LhsMapper(actualLhs.data(), actualLhs.outerStride()), + RhsMapper(actualRhsPtr, 1), dest.data(), dest.innerStride(), actualAlpha); } }; -template<> struct gemv_selector +template<> struct gemv_dense_selector { - template - static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha) + template + static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - typedef typename Dest::Index Index; - // TODO makes sure dest is sequentially stored in memory, otherwise use a temp - const Index size = prod.rhs().rows(); + // TODO if rhs is large enough it might be beneficial to make sure that dest is sequentially stored in memory, otherwise use a temp + typename nested_eval::type actual_rhs(rhs); + const Index size = rhs.rows(); for(Index k=0; k struct gemv_selector +template<> struct gemv_dense_selector { - template - static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha) + template + static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - typedef typename Dest::Index Index; - // TODO makes sure rhs is sequentially stored in memory, otherwise use a temp - const Index rows = prod.rows(); + typename nested_eval::type actual_rhs(rhs); + const Index rows = dest.rows(); for(Index i=0; i struct gemv_selector * * \sa lazyProduct(), operator*=(const MatrixBase&), Cwise::operator*() */ +#ifndef __CUDACC__ + template template -inline const typename ProductReturnType::Type +inline const Product MatrixBase::operator*(const MatrixBase &other) const { // A note regarding the function declaration: In MSVC, this function will sometimes @@ -592,9 +411,12 @@ MatrixBase::operator*(const MatrixBase &other) const #ifdef EIGEN_DEBUG_PRODUCT internal::product_type::debug(); #endif - return typename ProductReturnType::Type(derived(), other.derived()); + + return Product(derived(), other.derived()); } +#endif // __CUDACC__ + /** \returns an expression of the matrix product of \c *this and \a other without implicit evaluation. * * The returned product will behave like any other expressions: the coefficients of the product will be @@ -608,7 +430,7 @@ MatrixBase::operator*(const MatrixBase &other) const */ template template -const typename LazyProductReturnType::Type +const Product MatrixBase::lazyProduct(const MatrixBase &other) const { enum { @@ -627,7 +449,7 @@ MatrixBase::lazyProduct(const MatrixBase &other) const INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION) EIGEN_STATIC_ASSERT(ProductIsValid || SameSizes, INVALID_MATRIX_PRODUCT) - return typename LazyProductReturnType::Type(derived(), other.derived()); + return Product(derived(), other.derived()); } } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/GenericPacketMath.h b/nuparu/include/Eigen/src/Core/GenericPacketMath.h index 5f783ebe..8ad51bad 100644 --- a/nuparu/include/Eigen/src/Core/GenericPacketMath.h +++ b/nuparu/include/Eigen/src/Core/GenericPacketMath.h @@ -42,21 +42,27 @@ namespace internal { struct default_packet_traits { enum { + HasHalfPacket = 0, + HasAdd = 1, HasSub = 1, HasMul = 1, HasNegate = 1, HasAbs = 1, + HasArg = 0, HasAbs2 = 1, HasMin = 1, HasMax = 1, HasConj = 1, HasSetLinear = 1, + HasBlend = 0, HasDiv = 0, HasSqrt = 0, + HasRsqrt = 0, HasExp = 0, HasLog = 0, + HasLog10 = 0, HasPow = 0, HasSin = 0, @@ -64,17 +70,31 @@ struct default_packet_traits HasTan = 0, HasASin = 0, HasACos = 0, - HasATan = 0 + HasATan = 0, + HasSinh = 0, + HasCosh = 0, + HasTanh = 0, + HasLGamma = 0, + HasErf = 0, + HasErfc = 0, + + HasRound = 0, + HasFloor = 0, + HasCeil = 0, + + HasSign = 0 }; }; template struct packet_traits : default_packet_traits { typedef T type; + typedef T half; enum { Vectorizable = 0, size = 1, - AlignedOnScalar = 0 + AlignedOnScalar = 0, + HasHalfPacket = 0 }; enum { HasAdd = 0, @@ -90,135 +110,250 @@ template struct packet_traits : default_packet_traits }; }; +template struct packet_traits : packet_traits { }; + +template struct type_casting_traits { + enum { + VectorizedCast = 0, + SrcCoeffRatio = 1, + TgtCoeffRatio = 1 + }; +}; + + +/** \internal \returns static_cast(a) (coeff-wise) */ +template +EIGEN_DEVICE_FUNC inline TgtPacket +pcast(const SrcPacket& a) { + return static_cast(a); +} +template +EIGEN_DEVICE_FUNC inline TgtPacket +pcast(const SrcPacket& a, const SrcPacket& /*b*/) { + return static_cast(a); +} + + /** \internal \returns a + b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet padd(const Packet& a, const Packet& b) { return a+b; } /** \internal \returns a - b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet psub(const Packet& a, const Packet& b) { return a-b; } /** \internal \returns -a (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pnegate(const Packet& a) { return -a; } /** \internal \returns conj(a) (coeff-wise) */ -template inline Packet + +template EIGEN_DEVICE_FUNC inline Packet pconj(const Packet& a) { return numext::conj(a); } /** \internal \returns a * b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pmul(const Packet& a, const Packet& b) { return a*b; } /** \internal \returns a / b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pdiv(const Packet& a, const Packet& b) { return a/b; } /** \internal \returns the min of \a a and \a b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pmin(const Packet& a, - const Packet& b) { using std::min; return (min)(a, b); } + const Packet& b) { return numext::mini(a, b); } /** \internal \returns the max of \a a and \a b (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pmax(const Packet& a, - const Packet& b) { using std::max; return (max)(a, b); } + const Packet& b) { return numext::maxi(a, b); } /** \internal \returns the absolute value of \a a */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pabs(const Packet& a) { using std::abs; return abs(a); } +/** \internal \returns the phase angle of \a a */ +template EIGEN_DEVICE_FUNC inline Packet +parg(const Packet& a) { using numext::arg; return arg(a); } + /** \internal \returns the bitwise and of \a a and \a b */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pand(const Packet& a, const Packet& b) { return a & b; } /** \internal \returns the bitwise or of \a a and \a b */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet por(const Packet& a, const Packet& b) { return a | b; } /** \internal \returns the bitwise xor of \a a and \a b */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pxor(const Packet& a, const Packet& b) { return a ^ b; } /** \internal \returns the bitwise andnot of \a a and \a b */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pandnot(const Packet& a, const Packet& b) { return a & (!b); } /** \internal \returns a packet version of \a *from, from must be 16 bytes aligned */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pload(const typename unpacket_traits::type* from) { return *from; } /** \internal \returns a packet version of \a *from, (un-aligned load) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet ploadu(const typename unpacket_traits::type* from) { return *from; } +/** \internal \returns a packet with constant coefficients \a a, e.g.: (a,a,a,a) */ +template EIGEN_DEVICE_FUNC inline Packet +pset1(const typename unpacket_traits::type& a) { return a; } + +/** \internal \returns a packet with constant coefficients \a a[0], e.g.: (a[0],a[0],a[0],a[0]) */ +template EIGEN_DEVICE_FUNC inline Packet +pload1(const typename unpacket_traits::type *a) { return pset1(*a); } + /** \internal \returns a packet with elements of \a *from duplicated. - * For instance, for a packet of 8 elements, 4 scalar will be read from \a *from and - * duplicated to form: {from[0],from[0],from[1],from[1],,from[2],from[2],,from[3],from[3]} + * For instance, for a packet of 8 elements, 4 scalars will be read from \a *from and + * duplicated to form: {from[0],from[0],from[1],from[1],from[2],from[2],from[3],from[3]} * Currently, this function is only used for scalar * complex products. - */ -template inline Packet + */ +template EIGEN_DEVICE_FUNC inline Packet ploaddup(const typename unpacket_traits::type* from) { return *from; } -/** \internal \returns a packet with constant coefficients \a a, e.g.: (a,a,a,a) */ -template inline Packet -pset1(const typename unpacket_traits::type& a) { return a; } +/** \internal \returns a packet with elements of \a *from quadrupled. + * For instance, for a packet of 8 elements, 2 scalars will be read from \a *from and + * replicated to form: {from[0],from[0],from[0],from[0],from[1],from[1],from[1],from[1]} + * Currently, this function is only used in matrix products. + * For packet-size smaller or equal to 4, this function is equivalent to pload1 + */ +template EIGEN_DEVICE_FUNC inline Packet +ploadquad(const typename unpacket_traits::type* from) +{ return pload1(from); } + +/** \internal equivalent to + * \code + * a0 = pload1(a+0); + * a1 = pload1(a+1); + * a2 = pload1(a+2); + * a3 = pload1(a+3); + * \endcode + * \sa pset1, pload1, ploaddup, pbroadcast2 + */ +template EIGEN_DEVICE_FUNC +inline void pbroadcast4(const typename unpacket_traits::type *a, + Packet& a0, Packet& a1, Packet& a2, Packet& a3) +{ + a0 = pload1(a+0); + a1 = pload1(a+1); + a2 = pload1(a+2); + a3 = pload1(a+3); +} + +/** \internal equivalent to + * \code + * a0 = pload1(a+0); + * a1 = pload1(a+1); + * \endcode + * \sa pset1, pload1, ploaddup, pbroadcast4 + */ +template EIGEN_DEVICE_FUNC +inline void pbroadcast2(const typename unpacket_traits::type *a, + Packet& a0, Packet& a1) +{ + a0 = pload1(a+0); + a1 = pload1(a+1); +} /** \internal \brief Returns a packet with coefficients (a,a+1,...,a+packet_size-1). */ -template inline typename packet_traits::type -plset(const Scalar& a) { return a; } +template inline Packet +plset(const typename unpacket_traits::type& a) { return a; } /** \internal copy the packet \a from to \a *to, \a to must be 16 bytes aligned */ -template inline void pstore(Scalar* to, const Packet& from) +template EIGEN_DEVICE_FUNC inline void pstore(Scalar* to, const Packet& from) { (*to) = from; } /** \internal copy the packet \a from to \a *to, (un-aligned store) */ -template inline void pstoreu(Scalar* to, const Packet& from) -{ (*to) = from; } +template EIGEN_DEVICE_FUNC inline void pstoreu(Scalar* to, const Packet& from) +{ (*to) = from; } + + template EIGEN_DEVICE_FUNC inline Packet pgather(const Scalar* from, Index /*stride*/) + { return ploadu(from); } + + template EIGEN_DEVICE_FUNC inline void pscatter(Scalar* to, const Packet& from, Index /*stride*/) + { pstore(to, from); } /** \internal tries to do cache prefetching of \a addr */ template inline void prefetch(const Scalar* addr) { -#if !defined(_MSC_VER) -__builtin_prefetch(addr); +#ifdef __CUDA_ARCH__ +#if defined(__LP64__) + // 64-bit pointer operand constraint for inlined asm + asm(" prefetch.L1 [ %1 ];" : "=l"(addr) : "l"(addr)); +#else + // 32-bit pointer operand constraint for inlined asm + asm(" prefetch.L1 [ %1 ];" : "=r"(addr) : "r"(addr)); +#endif +#elif !EIGEN_COMP_MSVC + __builtin_prefetch(addr); #endif } /** \internal \returns the first element of a packet */ -template inline typename unpacket_traits::type pfirst(const Packet& a) +template EIGEN_DEVICE_FUNC inline typename unpacket_traits::type pfirst(const Packet& a) { return a; } /** \internal \returns a packet where the element i contains the sum of the packet of \a vec[i] */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet preduxp(const Packet* vecs) { return vecs[0]; } /** \internal \returns the sum of the elements of \a a*/ -template inline typename unpacket_traits::type predux(const Packet& a) +template EIGEN_DEVICE_FUNC inline typename unpacket_traits::type predux(const Packet& a) +{ return a; } + +/** \internal \returns the sum of the elements of \a a by block of 4 elements. + * For a packet {a0, a1, a2, a3, a4, a5, a6, a7}, it returns a half packet {a0+a4, a1+a5, a2+a6, a3+a7} + * For packet-size smaller or equal to 4, this boils down to a noop. + */ +template EIGEN_DEVICE_FUNC inline +typename conditional<(unpacket_traits::size%8)==0,typename unpacket_traits::half,Packet>::type +predux4(const Packet& a) { return a; } /** \internal \returns the product of the elements of \a a*/ -template inline typename unpacket_traits::type predux_mul(const Packet& a) +template EIGEN_DEVICE_FUNC inline typename unpacket_traits::type predux_mul(const Packet& a) { return a; } /** \internal \returns the min of the elements of \a a*/ -template inline typename unpacket_traits::type predux_min(const Packet& a) +template EIGEN_DEVICE_FUNC inline typename unpacket_traits::type predux_min(const Packet& a) { return a; } /** \internal \returns the max of the elements of \a a*/ -template inline typename unpacket_traits::type predux_max(const Packet& a) +template EIGEN_DEVICE_FUNC inline typename unpacket_traits::type predux_max(const Packet& a) { return a; } /** \internal \returns the reversed elements of \a a*/ -template inline Packet preverse(const Packet& a) +template EIGEN_DEVICE_FUNC inline Packet preverse(const Packet& a) { return a; } +template +struct protate_impl +{ + // Empty so attempts to use this unimplemented path will fail to compile. + // Only specializations of this template should be used. +}; + +/** \internal \returns a packet with the coefficients rotated to the right in little-endian convention, + * by the given offset, e.g. for offset == 1: + * (packet[3], packet[2], packet[1], packet[0]) becomes (packet[0], packet[3], packet[2], packet[1]) + */ +template EIGEN_DEVICE_FUNC inline Packet protate(const Packet& a) +{ + return offset ? protate_impl::run(a) : a; +} /** \internal \returns \a a with real and imaginary part flipped (for complex type only) */ -template inline Packet pcplxflip(const Packet& a) +template EIGEN_DEVICE_FUNC inline Packet pcplxflip(const Packet& a) { // FIXME: uncomment the following in case we drop the internal imag and real functions. // using std::imag; @@ -250,6 +385,22 @@ Packet pasin(const Packet& a) { using std::asin; return asin(a); } template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pacos(const Packet& a) { using std::acos; return acos(a); } +/** \internal \returns the arc tangent of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet patan(const Packet& a) { using std::atan; return atan(a); } + +/** \internal \returns the hyperbolic sine of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet psinh(const Packet& a) { using std::sinh; return sinh(a); } + +/** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet pcosh(const Packet& a) { using std::cosh; return cosh(a); } + +/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet ptanh(const Packet& a) { using std::tanh; return tanh(a); } + /** \internal \returns the exp of \a a (coeff-wise) */ template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp(const Packet& a) { using std::exp; return exp(a); } @@ -258,10 +409,44 @@ Packet pexp(const Packet& a) { using std::exp; return exp(a); } template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet& a) { using std::log; return log(a); } +/** \internal \returns the log10 of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet plog10(const Packet& a) { using std::log10; return log10(a); } + /** \internal \returns the square-root of \a a (coeff-wise) */ template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psqrt(const Packet& a) { using std::sqrt; return sqrt(a); } +/** \internal \returns the reciprocal square-root of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet prsqrt(const Packet& a) { + return pdiv(pset1(1), psqrt(a)); +} + +/** \internal \returns the rounded value of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet pround(const Packet& a) { using numext::round; return round(a); } + +/** \internal \returns the floor of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet pfloor(const Packet& a) { using numext::floor; return floor(a); } + +/** \internal \returns the ceil of \a a (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet pceil(const Packet& a) { using numext::ceil; return ceil(a); } + +/** \internal \returns the ln(|gamma(\a a)|) (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet plgamma(const Packet& a) { using numext::lgamma; return lgamma(a); } + +/** \internal \returns the erf(\a a) (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet perf(const Packet& a) { using numext::erf; return erf(a); } + +/** \internal \returns the erfc(\a a) (coeff-wise) */ +template EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS +Packet perfc(const Packet& a) { using numext::erfc; return erfc(a); } + /*************************************************************************** * The following functions might not have to be overwritten for vectorized types ***************************************************************************/ @@ -275,34 +460,45 @@ inline void pstore1(typename unpacket_traits::type* to, const typename u } /** \internal \returns a * b + c (coeff-wise) */ -template inline Packet +template EIGEN_DEVICE_FUNC inline Packet pmadd(const Packet& a, const Packet& b, const Packet& c) { return padd(pmul(a, b),c); } /** \internal \returns a packet version of \a *from. - * If LoadMode equals #Aligned, \a from must be 16 bytes aligned */ -template -inline Packet ploadt(const typename unpacket_traits::type* from) + * The pointer \a from must be aligned on a \a Alignment bytes boundary. */ +template +EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet ploadt(const typename unpacket_traits::type* from) { - if(LoadMode == Aligned) + if(Alignment >= unpacket_traits::alignment) return pload(from); else return ploadu(from); } /** \internal copy the packet \a from to \a *to. - * If StoreMode equals #Aligned, \a to must be 16 bytes aligned */ -template -inline void pstoret(Scalar* to, const Packet& from) + * The pointer \a from must be aligned on a \a Alignment bytes boundary. */ +template +EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void pstoret(Scalar* to, const Packet& from) { - if(LoadMode == Aligned) + if(Alignment >= unpacket_traits::alignment) pstore(to, from); else pstoreu(to, from); } +/** \internal \returns a packet version of \a *from. + * Unlike ploadt, ploadt_ro takes advantage of the read-only memory path on the + * hardware if available to speedup the loading of data that won't be modified + * by the current computation. + */ +template +inline Packet ploadt_ro(const typename unpacket_traits::type* from) +{ + return ploadt(from); +} + /** \internal default implementation of palign() allowing partial specialization */ template struct palign_impl @@ -336,15 +532,46 @@ inline void palign(PacketType& first, const PacketType& second) * Fast complex products (GCC generates a function call which is very slow) ***************************************************************************/ +// Eigen+CUDA does not support complexes. +#ifndef __CUDACC__ + template<> inline std::complex pmul(const std::complex& a, const std::complex& b) { return std::complex(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); } template<> inline std::complex pmul(const std::complex& a, const std::complex& b) { return std::complex(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); } +#endif + + +/*************************************************************************** + * PacketBlock, that is a collection of N packets where the number of words + * in the packet is a multiple of N. +***************************************************************************/ +template ::size> struct PacketBlock { + Packet packet[N]; +}; + +template EIGEN_DEVICE_FUNC inline void +ptranspose(PacketBlock& /*kernel*/) { + // Nothing to do in the scalar case, i.e. a 1x1 matrix. +} + +/*************************************************************************** + * Selector, i.e. vector of N boolean values used to select (i.e. blend) + * words from 2 packets. +***************************************************************************/ +template struct Selector { + bool select[N]; +}; + +template EIGEN_DEVICE_FUNC inline Packet +pblend(const Selector::size>& ifPacket, const Packet& thenPacket, const Packet& elsePacket) { + return ifPacket.select[0] ? thenPacket : elsePacket; +} + } // end namespace internal } // end namespace Eigen #endif // EIGEN_GENERIC_PACKET_MATH_H - diff --git a/nuparu/include/Eigen/src/Core/GlobalFunctions.h b/nuparu/include/Eigen/src/Core/GlobalFunctions.h index 2acf9772..62fec700 100644 --- a/nuparu/include/Eigen/src/Core/GlobalFunctions.h +++ b/nuparu/include/Eigen/src/Core/GlobalFunctions.h @@ -14,8 +14,8 @@ #define EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(NAME,FUNCTOR) \ template \ inline const Eigen::CwiseUnaryOp, const Derived> \ - NAME(const Eigen::ArrayBase& x) { \ - return x.derived(); \ + (NAME)(const Eigen::ArrayBase& x) { \ + return Eigen::CwiseUnaryOp, const Derived>(x.derived()); \ } #define EIGEN_ARRAY_DECLARE_GLOBAL_EIGEN_UNARY(NAME,FUNCTOR) \ @@ -30,25 +30,44 @@ { \ static inline typename NAME##_retval >::type run(const Eigen::ArrayBase& x) \ { \ - return x.derived(); \ + return typename NAME##_retval >::type(x.derived()); \ } \ }; - namespace Eigen { EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(real,scalar_real_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(imag,scalar_imag_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(conj,scalar_conjugate_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(inverse,scalar_inverse_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sin,scalar_sin_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(cos,scalar_cos_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(tan,scalar_tan_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(atan,scalar_atan_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(asin,scalar_asin_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(acos,scalar_acos_op) - EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(tan,scalar_tan_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sinh,scalar_sinh_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(cosh,scalar_cosh_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(tanh,scalar_tanh_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(lgamma,scalar_lgamma_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(erf,scalar_erf_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(erfc,scalar_erfc_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(exp,scalar_exp_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(log,scalar_log_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(log10,scalar_log10_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs2,scalar_abs2_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(arg,scalar_arg_op) EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sqrt,scalar_sqrt_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(square,scalar_square_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(cube,scalar_cube_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(round,scalar_round_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(floor,scalar_floor_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(ceil,scalar_ceil_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isnan,scalar_isnan_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isinf,scalar_isinf_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isfinite,scalar_isfinite_op) + EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sign,scalar_sign_op) template inline const Eigen::CwiseUnaryOp, const Derived> @@ -56,16 +75,46 @@ namespace Eigen return x.derived().pow(exponent); } - template - inline const Eigen::CwiseBinaryOp, const Derived, const Derived> - pow(const Eigen::ArrayBase& x, const Eigen::ArrayBase& exponents) + /** \returns an expression of the coefficient-wise power of \a x to the given array of \a exponents. + * + * This function computes the coefficient-wise power. + * + * Example: \include Cwise_array_power_array.cpp + * Output: \verbinclude Cwise_array_power_array.out + * + * \sa ArrayBase::pow() + */ + template + inline const Eigen::CwiseBinaryOp, const Derived, const ExponentDerived> + pow(const Eigen::ArrayBase& x, const Eigen::ArrayBase& exponents) { - return Eigen::CwiseBinaryOp, const Derived, const Derived>( + return Eigen::CwiseBinaryOp, const Derived, const ExponentDerived>( x.derived(), exponents.derived() ); } + /** \returns an expression of the coefficient-wise power of the scalar \a x to the given array of \a exponents. + * + * This function computes the coefficient-wise power between a scalar and an array of exponents. + * Beaware that the scalar type of the input scalar \a x and the exponents \a exponents must be the same. + * + * Example: \include Cwise_scalar_power_array.cpp + * Output: \verbinclude Cwise_scalar_power_array.out + * + * \sa ArrayBase::pow() + */ + template + inline const Eigen::CwiseBinaryOp, const typename Derived::ConstantReturnType, const Derived> + pow(const typename Derived::Scalar& x, const Eigen::ArrayBase& exponents) + { + typename Derived::ConstantReturnType constant_x(exponents.rows(), exponents.cols(), x); + return Eigen::CwiseBinaryOp, const typename Derived::ConstantReturnType, const Derived>( + constant_x, + exponents.derived() + ); + } + /** * \brief Component-wise division of a scalar by array elements. **/ diff --git a/nuparu/include/Eigen/src/Core/IO.h b/nuparu/include/Eigen/src/Core/IO.h index c8d5f637..9ae37bb5 100644 --- a/nuparu/include/Eigen/src/Core/IO.h +++ b/nuparu/include/Eigen/src/Core/IO.h @@ -49,7 +49,7 @@ std::ostream & print_matrix(std::ostream & s, const Derived& _m, const IOFormat& */ struct IOFormat { - /** Default contructor, see class IOFormat for the meaning of the parameters */ + /** Default constructor, see class IOFormat for the meaning of the parameters */ IOFormat(int _precision = StreamPrecision, int _flags = 0, const std::string& _coeffSeparator = " ", const std::string& _rowSeparator = "\n", const std::string& _rowPrefix="", const std::string& _rowSuffix="", @@ -57,6 +57,10 @@ struct IOFormat : matPrefix(_matPrefix), matSuffix(_matSuffix), rowPrefix(_rowPrefix), rowSuffix(_rowSuffix), rowSeparator(_rowSeparator), rowSpacer(""), coeffSeparator(_coeffSeparator), precision(_precision), flags(_flags) { + // TODO check if rowPrefix, rowSuffix or rowSeparator contains a newline + // don't add rowSpacer if columns are not to be aligned + if((flags & DontAlignCols)) + return; int i = int(matSuffix.length())-1; while (i>=0 && matSuffix[i]!='\n') { @@ -160,7 +164,6 @@ std::ostream & print_matrix(std::ostream & s, const Derived& _m, const IOFormat& typename Derived::Nested m = _m; typedef typename Derived::Scalar Scalar; - typedef typename Derived::Index Index; Index width = 0; @@ -185,21 +188,22 @@ std::ostream & print_matrix(std::ostream & s, const Derived& _m, const IOFormat& explicit_precision = fmt.precision; } + std::streamsize old_precision = 0; + if(explicit_precision) old_precision = s.precision(explicit_precision); + bool align_cols = !(fmt.flags & DontAlignCols); if(align_cols) { // compute the largest width - for(Index j = 1; j < m.cols(); ++j) + for(Index j = 0; j < m.cols(); ++j) for(Index i = 0; i < m.rows(); ++i) { std::stringstream sstr; - if(explicit_precision) sstr.precision(explicit_precision); + sstr.copyfmt(s); sstr << m.coeff(i,j); width = std::max(width, Index(sstr.str().length())); } } - std::streamsize old_precision = 0; - if(explicit_precision) old_precision = s.precision(explicit_precision); s << fmt.matPrefix; for(Index i = 0; i < m.rows(); ++i) { diff --git a/nuparu/include/Eigen/src/Core/Inverse.h b/nuparu/include/Eigen/src/Core/Inverse.h new file mode 100644 index 00000000..f3ec8499 --- /dev/null +++ b/nuparu/include/Eigen/src/Core/Inverse.h @@ -0,0 +1,117 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2014 Gael Guennebaud +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_INVERSE_H +#define EIGEN_INVERSE_H + +namespace Eigen { + +template class InverseImpl; + +namespace internal { + +template +struct traits > + : traits +{ + typedef typename XprType::PlainObject PlainObject; + typedef traits BaseTraits; + enum { + Flags = BaseTraits::Flags & RowMajorBit + }; +}; + +} // end namespace internal + +/** \class Inverse + * + * \brief Expression of the inverse of another expression + * + * \tparam XprType the type of the expression we are taking the inverse + * + * This class represents an abstract expression of A.inverse() + * and most of the time this is the only way it is used. + * + */ +template +class Inverse : public InverseImpl::StorageKind> +{ +public: + typedef typename XprType::StorageIndex StorageIndex; + typedef typename XprType::PlainObject PlainObject; + typedef typename internal::ref_selector::type XprTypeNested; + typedef typename internal::remove_all::type XprTypeNestedCleaned; + typedef typename internal::ref_selector::type Nested; + typedef typename internal::remove_all::type NestedExpression; + + explicit Inverse(const XprType &xpr) + : m_xpr(xpr) + {} + + EIGEN_DEVICE_FUNC Index rows() const { return m_xpr.rows(); } + EIGEN_DEVICE_FUNC Index cols() const { return m_xpr.cols(); } + + EIGEN_DEVICE_FUNC const XprTypeNestedCleaned& nestedExpression() const { return m_xpr; } + +protected: + XprTypeNested m_xpr; +}; + +// Generic API dispatcher +template +class InverseImpl + : public internal::generic_xpr_base >::type +{ +public: + typedef typename internal::generic_xpr_base >::type Base; + typedef typename XprType::Scalar Scalar; +private: + + Scalar coeff(Index row, Index col) const; + Scalar coeff(Index i) const; +}; + +namespace internal { + +/** \internal + * \brief Default evaluator for Inverse expression. + * + * This default evaluator for Inverse expression simply evaluate the inverse into a temporary + * by a call to internal::call_assignment_no_alias. + * Therefore, inverse implementers only have to specialize Assignment, ...> for + * there own nested expression. + * + * \sa class Inverse + */ +template +struct unary_evaluator > + : public evaluator::PlainObject> +{ + typedef Inverse InverseType; + typedef typename InverseType::PlainObject PlainObject; + typedef evaluator Base; + + enum { Flags = Base::Flags | EvalBeforeNestingBit }; + + unary_evaluator(const InverseType& inv_xpr) + : m_result(inv_xpr.rows(), inv_xpr.cols()) + { + ::new (static_cast(this)) Base(m_result); + internal::call_assignment_no_alias(m_result, inv_xpr); + } + +protected: + PlainObject m_result; +}; + +} // end namespace internal + +} // end namespace Eigen + +#endif // EIGEN_INVERSE_H diff --git a/nuparu/include/Eigen/src/Core/Map.h b/nuparu/include/Eigen/src/Core/Map.h index f804c89d..3a8375da 100644 --- a/nuparu/include/Eigen/src/Core/Map.h +++ b/nuparu/include/Eigen/src/Core/Map.h @@ -19,7 +19,7 @@ namespace Eigen { * \brief A matrix or vector expression mapping an existing array of data. * * \tparam PlainObjectType the equivalent matrix type of the mapped data - * \tparam MapOptions specifies whether the pointer is \c #Aligned, or \c #Unaligned. + * \tparam MapOptions specifies the pointer alignment in bytes. It can be: \c #Aligned128, , \c #Aligned64, \c #Aligned32, \c #Aligned16, \c #Aligned8 or \c #Unaligned. * The default is \c #Unaligned. * \tparam StrideType optionally specifies strides. By default, Map assumes the memory layout * of an ordinary, contiguous array. This can be overridden by specifying strides. @@ -70,8 +70,6 @@ struct traits > : public traits { typedef traits TraitsBase; - typedef typename PlainObjectType::Index Index; - typedef typename PlainObjectType::Scalar Scalar; enum { InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0 ? int(PlainObjectType::InnerStrideAtCompileTime) @@ -79,22 +77,9 @@ struct traits > OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0 ? int(PlainObjectType::OuterStrideAtCompileTime) : int(StrideType::OuterStrideAtCompileTime), - HasNoInnerStride = InnerStrideAtCompileTime == 1, - HasNoOuterStride = StrideType::OuterStrideAtCompileTime == 0, - HasNoStride = HasNoInnerStride && HasNoOuterStride, - IsAligned = bool(EIGEN_ALIGN) && ((int(MapOptions)&Aligned)==Aligned), - IsDynamicSize = PlainObjectType::SizeAtCompileTime==Dynamic, - KeepsPacketAccess = bool(HasNoInnerStride) - && ( bool(IsDynamicSize) - || HasNoOuterStride - || ( OuterStrideAtCompileTime!=Dynamic - && ((static_cast(sizeof(Scalar))*OuterStrideAtCompileTime)%16)==0 ) ), + Alignment = int(MapOptions)&int(AlignedMask), Flags0 = TraitsBase::Flags & (~NestByRefBit), - Flags1 = IsAligned ? (int(Flags0) | AlignedBit) : (int(Flags0) & ~AlignedBit), - Flags2 = (bool(HasNoStride) || bool(PlainObjectType::IsVectorAtCompileTime)) - ? int(Flags1) : int(Flags1 & ~LinearAccessBit), - Flags3 = is_lvalue::value ? int(Flags2) : (int(Flags2) & ~LvalueBit), - Flags = KeepsPacketAccess ? int(Flags3) : (int(Flags3) & ~PacketAccessBit) + Flags = is_lvalue::value ? int(Flags0) : (int(Flags0) & ~LvalueBit) }; private: enum { Options }; // Expressions don't have Options @@ -110,19 +95,17 @@ template class Ma EIGEN_DENSE_PUBLIC_INTERFACE(Map) typedef typename Base::PointerType PointerType; -#if EIGEN2_SUPPORT_STAGE <= STAGE30_FULL_EIGEN3_API - typedef const Scalar* PointerArgType; - inline PointerType cast_to_pointer_type(PointerArgType ptr) { return const_cast(ptr); } -#else typedef PointerType PointerArgType; + EIGEN_DEVICE_FUNC inline PointerType cast_to_pointer_type(PointerArgType ptr) { return ptr; } -#endif + EIGEN_DEVICE_FUNC inline Index innerStride() const { return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1; } + EIGEN_DEVICE_FUNC inline Index outerStride() const { return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer() @@ -134,10 +117,11 @@ template class Ma /** Constructor in the fixed-size case. * * \param dataPtr pointer to the array to map - * \param a_stride optional Stride object, passing the strides. + * \param stride optional Stride object, passing the strides. */ - inline Map(PointerArgType dataPtr, const StrideType& a_stride = StrideType()) - : Base(cast_to_pointer_type(dataPtr)), m_stride(a_stride) + EIGEN_DEVICE_FUNC + explicit inline Map(PointerArgType dataPtr, const StrideType& stride = StrideType()) + : Base(cast_to_pointer_type(dataPtr)), m_stride(stride) { PlainObjectType::Base::_check_template_params(); } @@ -145,11 +129,12 @@ template class Ma /** Constructor in the dynamic-size vector case. * * \param dataPtr pointer to the array to map - * \param a_size the size of the vector expression - * \param a_stride optional Stride object, passing the strides. + * \param size the size of the vector expression + * \param stride optional Stride object, passing the strides. */ - inline Map(PointerArgType dataPtr, Index a_size, const StrideType& a_stride = StrideType()) - : Base(cast_to_pointer_type(dataPtr), a_size), m_stride(a_stride) + EIGEN_DEVICE_FUNC + inline Map(PointerArgType dataPtr, Index size, const StrideType& stride = StrideType()) + : Base(cast_to_pointer_type(dataPtr), size), m_stride(stride) { PlainObjectType::Base::_check_template_params(); } @@ -157,12 +142,13 @@ template class Ma /** Constructor in the dynamic-size matrix case. * * \param dataPtr pointer to the array to map - * \param nbRows the number of rows of the matrix expression - * \param nbCols the number of columns of the matrix expression - * \param a_stride optional Stride object, passing the strides. + * \param rows the number of rows of the matrix expression + * \param cols the number of columns of the matrix expression + * \param stride optional Stride object, passing the strides. */ - inline Map(PointerArgType dataPtr, Index nbRows, Index nbCols, const StrideType& a_stride = StrideType()) - : Base(cast_to_pointer_type(dataPtr), nbRows, nbCols), m_stride(a_stride) + EIGEN_DEVICE_FUNC + inline Map(PointerArgType dataPtr, Index rows, Index cols, const StrideType& stride = StrideType()) + : Base(cast_to_pointer_type(dataPtr), rows, cols), m_stride(stride) { PlainObjectType::Base::_check_template_params(); } @@ -173,19 +159,6 @@ template class Ma StrideType m_stride; }; -template -inline Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> - ::Array(const Scalar *data) -{ - this->_set_noalias(Eigen::Map(data)); -} - -template -inline Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> - ::Matrix(const Scalar *data) -{ - this->_set_noalias(Eigen::Map(data)); -} } // end namespace Eigen diff --git a/nuparu/include/Eigen/src/Core/MapBase.h b/nuparu/include/Eigen/src/Core/MapBase.h index 6876de58..75a80daa 100644 --- a/nuparu/include/Eigen/src/Core/MapBase.h +++ b/nuparu/include/Eigen/src/Core/MapBase.h @@ -12,7 +12,7 @@ #define EIGEN_MAPBASE_H #define EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived) \ - EIGEN_STATIC_ASSERT((int(internal::traits::Flags) & LinearAccessBit) || Derived::IsVectorAtCompileTime, \ + EIGEN_STATIC_ASSERT((int(internal::evaluator::Flags) & LinearAccessBit) || Derived::IsVectorAtCompileTime, \ YOU_ARE_TRYING_TO_USE_AN_INDEX_BASED_ACCESSOR_ON_AN_EXPRESSION_THAT_DOES_NOT_SUPPORT_THAT) namespace Eigen { @@ -37,7 +37,6 @@ template class MapBase }; typedef typename internal::traits::StorageKind StorageKind; - typedef typename internal::traits::Index Index; typedef typename internal::traits::Scalar Scalar; typedef typename internal::packet_traits::type PacketScalar; typedef typename NumTraits::Real RealScalar; @@ -76,8 +75,8 @@ template class MapBase typedef typename Base::CoeffReturnType CoeffReturnType; - inline Index rows() const { return m_rows.value(); } - inline Index cols() const { return m_cols.value(); } + EIGEN_DEVICE_FUNC inline Index rows() const { return m_rows.value(); } + EIGEN_DEVICE_FUNC inline Index cols() const { return m_cols.value(); } /** Returns a pointer to the first coefficient of the matrix or vector. * @@ -85,24 +84,28 @@ template class MapBase * * \sa innerStride(), outerStride() */ - inline const Scalar* data() const { return m_data; } + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return m_data; } + EIGEN_DEVICE_FUNC inline const Scalar& coeff(Index rowId, Index colId) const { return m_data[colId * colStride() + rowId * rowStride()]; } + EIGEN_DEVICE_FUNC inline const Scalar& coeff(Index index) const { EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived) return m_data[index * innerStride()]; } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index rowId, Index colId) const { return this->m_data[colId * colStride() + rowId * rowStride()]; } + EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index index) const { EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived) @@ -123,12 +126,14 @@ template class MapBase return internal::ploadt(m_data + index * innerStride()); } - inline MapBase(PointerType dataPtr) : m_data(dataPtr), m_rows(RowsAtCompileTime), m_cols(ColsAtCompileTime) + EIGEN_DEVICE_FUNC + explicit inline MapBase(PointerType dataPtr) : m_data(dataPtr), m_rows(RowsAtCompileTime), m_cols(ColsAtCompileTime) { EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) checkSanity(); } + EIGEN_DEVICE_FUNC inline MapBase(PointerType dataPtr, Index vecSize) : m_data(dataPtr), m_rows(RowsAtCompileTime == Dynamic ? vecSize : Index(RowsAtCompileTime)), @@ -140,24 +145,28 @@ template class MapBase checkSanity(); } - inline MapBase(PointerType dataPtr, Index nbRows, Index nbCols) - : m_data(dataPtr), m_rows(nbRows), m_cols(nbCols) + EIGEN_DEVICE_FUNC + inline MapBase(PointerType dataPtr, Index rows, Index cols) + : m_data(dataPtr), m_rows(rows), m_cols(cols) { eigen_assert( (dataPtr == 0) - || ( nbRows >= 0 && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == nbRows) - && nbCols >= 0 && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == nbCols))); + || ( rows >= 0 && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == rows) + && cols >= 0 && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == cols))); checkSanity(); } + #ifdef EIGEN_MAPBASE_PLUGIN + #include EIGEN_MAPBASE_PLUGIN + #endif + protected: + EIGEN_DEVICE_FUNC void checkSanity() const { - EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(internal::traits::Flags&PacketAccessBit, - internal::inner_stride_at_compile_time::ret==1), - PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1); - eigen_assert(EIGEN_IMPLIES(internal::traits::Flags&AlignedBit, (size_t(m_data) % 16) == 0) - && "data is not aligned"); +#if EIGEN_MAX_ALIGN_BYTES>0 + eigen_assert(((size_t(m_data) % EIGEN_PLAIN_ENUM_MAX(1,internal::traits::Alignment)) == 0) && "data is not aligned"); +#endif } PointerType m_data; @@ -168,13 +177,14 @@ template class MapBase template class MapBase : public MapBase { + typedef MapBase ReadOnlyMapBase; public: typedef MapBase Base; typedef typename Base::Scalar Scalar; typedef typename Base::PacketScalar PacketScalar; - typedef typename Base::Index Index; + typedef typename Base::StorageIndex StorageIndex; typedef typename Base::PointerType PointerType; using Base::derived; @@ -195,14 +205,18 @@ template class MapBase const Scalar >::type ScalarWithConstIfNotLvalue; + EIGEN_DEVICE_FUNC inline const Scalar* data() const { return this->m_data; } + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue* data() { return this->m_data; } // no const-cast here so non-const-correct code will give a compile error + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue& coeffRef(Index row, Index col) { return this->m_data[col * colStride() + row * rowStride()]; } + EIGEN_DEVICE_FUNC inline ScalarWithConstIfNotLvalue& coeffRef(Index index) { EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived) @@ -224,19 +238,24 @@ template class MapBase (this->m_data + index * innerStride(), val); } - explicit inline MapBase(PointerType dataPtr) : Base(dataPtr) {} - inline MapBase(PointerType dataPtr, Index vecSize) : Base(dataPtr, vecSize) {} - inline MapBase(PointerType dataPtr, Index nbRows, Index nbCols) : Base(dataPtr, nbRows, nbCols) {} + EIGEN_DEVICE_FUNC explicit inline MapBase(PointerType dataPtr) : Base(dataPtr) {} + EIGEN_DEVICE_FUNC inline MapBase(PointerType dataPtr, Index vecSize) : Base(dataPtr, vecSize) {} + EIGEN_DEVICE_FUNC inline MapBase(PointerType dataPtr, Index rows, Index cols) : Base(dataPtr, rows, cols) {} + EIGEN_DEVICE_FUNC Derived& operator=(const MapBase& other) { - Base::Base::operator=(other); + ReadOnlyMapBase::Base::operator=(other); return derived(); } - using Base::Base::operator=; + // In theory we could simply refer to Base:Base::operator=, but MSVC does not like Base::Base, + // see bugs 821 and 920. + using ReadOnlyMapBase::Base::operator=; }; +#undef EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS + } // end namespace Eigen #endif // EIGEN_MAPBASE_H diff --git a/nuparu/include/Eigen/src/Core/MathFunctions.h b/nuparu/include/Eigen/src/Core/MathFunctions.h index 2bfc5ebd..48cf565f 100644 --- a/nuparu/include/Eigen/src/Core/MathFunctions.h +++ b/nuparu/include/Eigen/src/Core/MathFunctions.h @@ -10,8 +10,20 @@ #ifndef EIGEN_MATHFUNCTIONS_H #define EIGEN_MATHFUNCTIONS_H +// source: http://www.geom.uiuc.edu/~huberty/math5337/groupe/digits.html +#define EIGEN_PI 3.141592653589793238462643383279502884197169399375105820974944592307816406 + namespace Eigen { +// On WINCE, std::abs is defined for int only, so let's defined our own overloads: +// This issue has been confirmed with MSVC 2008 only, but the issue might exist for more recent versions too. +#if EIGEN_OS_WINCE && EIGEN_COMP_MSVC && EIGEN_COMP_MSVC<=1500 +long abs(long x) { return (labs(x)); } +double abs(double x) { return (fabs(x)); } +float abs(float x) { return (fabsf(x)); } +long double abs(long double x) { return (fabsl(x)); } +#endif + namespace internal { /** \internal \struct global_math_functions_filtering_base @@ -62,6 +74,7 @@ template::IsComplex> struct real_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar& x) { return x; @@ -72,6 +85,7 @@ template struct real_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar& x) { using std::real; @@ -87,7 +101,6 @@ struct real_retval typedef typename NumTraits::Real type; }; - /**************************************************************************** * Implementation of imag * ****************************************************************************/ @@ -96,6 +109,7 @@ template::IsComplex> struct imag_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar&) { return RealScalar(0); @@ -106,6 +120,7 @@ template struct imag_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar& x) { using std::imag; @@ -129,10 +144,12 @@ template struct real_ref_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar& run(Scalar& x) { return reinterpret_cast(&x)[0]; } + EIGEN_DEVICE_FUNC static inline const RealScalar& run(const Scalar& x) { return reinterpret_cast(&x)[0]; @@ -153,10 +170,12 @@ template struct imag_ref_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar& run(Scalar& x) { return reinterpret_cast(&x)[1]; } + EIGEN_DEVICE_FUNC static inline const RealScalar& run(const Scalar& x) { return reinterpret_cast(&x)[1]; @@ -166,10 +185,12 @@ struct imag_ref_default_impl template struct imag_ref_default_impl { + EIGEN_DEVICE_FUNC static inline Scalar run(Scalar&) { return Scalar(0); } + EIGEN_DEVICE_FUNC static inline const Scalar run(const Scalar&) { return Scalar(0); @@ -192,6 +213,7 @@ struct imag_ref_retval template::IsComplex> struct conj_impl { + EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x) { return x; @@ -201,6 +223,7 @@ struct conj_impl template struct conj_impl { + EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x) { using std::conj; @@ -218,25 +241,39 @@ struct conj_retval * Implementation of abs2 * ****************************************************************************/ -template -struct abs2_impl +template +struct abs2_impl_default { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar& x) { return x*x; } }; -template -struct abs2_impl > +template +struct abs2_impl_default // IsComplex { - static inline RealScalar run(const std::complex& x) + typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC + static inline RealScalar run(const Scalar& x) { return real(x)*real(x) + imag(x)*imag(x); } }; +template +struct abs2_impl +{ + typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC + static inline RealScalar run(const Scalar& x) + { + return abs2_impl_default::IsComplex>::run(x); + } +}; + template struct abs2_retval { @@ -251,9 +288,10 @@ template struct norm1_default_impl { typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const Scalar& x) { - using std::abs; + EIGEN_USING_STD_MATH(abs); return abs(real(x)) + abs(imag(x)); } }; @@ -261,9 +299,10 @@ struct norm1_default_impl template struct norm1_default_impl { + EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x) { - using std::abs; + EIGEN_USING_STD_MATH(abs); return abs(x); } }; @@ -287,16 +326,22 @@ struct hypot_impl typedef typename NumTraits::Real RealScalar; static inline RealScalar run(const Scalar& x, const Scalar& y) { - using std::max; - using std::min; - using std::abs; - using std::sqrt; + EIGEN_USING_STD_MATH(abs); + EIGEN_USING_STD_MATH(sqrt); RealScalar _x = abs(x); RealScalar _y = abs(y); - RealScalar p = (max)(_x, _y); - if(p==RealScalar(0)) return 0; - RealScalar q = (min)(_x, _y); - RealScalar qp = q/p; + Scalar p, qp; + if(_x>_y) + { + p = _x; + qp = _y / p; + } + else + { + p = _y; + qp = _x / p; + } + if(p==RealScalar(0)) return RealScalar(0); return p * sqrt(RealScalar(1) + qp*qp); } }; @@ -314,6 +359,7 @@ struct hypot_retval template struct cast_impl { + EIGEN_DEVICE_FUNC static inline NewType run(const OldType& x) { return static_cast(x); @@ -323,48 +369,121 @@ struct cast_impl // here, for once, we're plainly returning NewType: we don't want cast to do weird things. template +EIGEN_DEVICE_FUNC inline NewType cast(const OldType& x) { return cast_impl::run(x); } /**************************************************************************** -* Implementation of atanh2 * +* Implementation of round * ****************************************************************************/ -template -struct atanh2_default_impl -{ - typedef Scalar retval; - typedef typename NumTraits::Real RealScalar; - static inline Scalar run(const Scalar& x, const Scalar& y) +#if EIGEN_HAS_CXX11_MATH + template + struct round_impl { + static inline Scalar run(const Scalar& x) + { + EIGEN_STATIC_ASSERT((!NumTraits::IsComplex), NUMERIC_TYPE_MUST_BE_REAL) + using std::round; + return round(x); + } + }; +#else + template + struct round_impl { - using std::abs; - using std::log; - using std::sqrt; - Scalar z = x / y; - if (y == Scalar(0) || abs(z) > sqrt(NumTraits::epsilon())) - return RealScalar(0.5) * log((y + x) / (y - x)); - else - return z + z*z*z / RealScalar(3); - } + static inline Scalar run(const Scalar& x) + { + EIGEN_STATIC_ASSERT((!NumTraits::IsComplex), NUMERIC_TYPE_MUST_BE_REAL) + EIGEN_USING_STD_MATH(floor); + EIGEN_USING_STD_MATH(ceil); + return (x > Scalar(0)) ? floor(x + Scalar(0.5)) : ceil(x - Scalar(0.5)); + } + }; +#endif + +template +struct round_retval +{ + typedef Scalar type; }; +/**************************************************************************** +* Implementation of arg * +****************************************************************************/ + +#if EIGEN_HAS_CXX11_MATH + template + struct arg_impl { + static inline Scalar run(const Scalar& x) + { + EIGEN_USING_STD_MATH(arg); + return arg(x); + } + }; +#else + template::IsComplex> + struct arg_default_impl + { + typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC + static inline RealScalar run(const Scalar& x) + { + return (x < Scalar(0)) ? Scalar(EIGEN_PI) : Scalar(0); } + }; + + template + struct arg_default_impl + { + typedef typename NumTraits::Real RealScalar; + EIGEN_DEVICE_FUNC + static inline RealScalar run(const Scalar& x) + { + EIGEN_USING_STD_MATH(arg); + return arg(x); + } + }; + + template struct arg_impl : arg_default_impl {}; +#endif + template -struct atanh2_default_impl +struct arg_retval +{ + typedef typename NumTraits::Real type; +}; + +/**************************************************************************** +* Implementation of log1p * +****************************************************************************/ +template::IsComplex > +struct log1p_impl { - static inline Scalar run(const Scalar&, const Scalar&) + static inline Scalar run(const Scalar& x) { EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar) - return Scalar(0); + typedef typename NumTraits::Real RealScalar; + EIGEN_USING_STD_MATH(log); + Scalar x1p = RealScalar(1) + x; + return ( x1p == Scalar(1) ) ? x : x * ( log(x1p) / (x1p - RealScalar(1)) ); } }; +#if EIGEN_HAS_CXX11_MATH template -struct atanh2_impl : atanh2_default_impl::IsInteger> {}; +struct log1p_impl { + static inline Scalar run(const Scalar& x) + { + EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar) + using std::log1p; + return log1p(x); + } +}; +#endif template -struct atanh2_retval +struct log1p_retval { typedef Scalar type; }; @@ -379,7 +498,7 @@ struct pow_default_impl typedef Scalar retval; static inline Scalar run(const Scalar& x, const Scalar& y) { - using std::pow; + EIGEN_USING_STD_MATH(pow); return pow(x, y); } }; @@ -447,48 +566,48 @@ struct random_default_impl }; enum { - floor_log2_terminate, - floor_log2_move_up, - floor_log2_move_down, - floor_log2_bogus + meta_floor_log2_terminate, + meta_floor_log2_move_up, + meta_floor_log2_move_down, + meta_floor_log2_bogus }; -template struct floor_log2_selector +template struct meta_floor_log2_selector { enum { middle = (lower + upper) / 2, - value = (upper <= lower + 1) ? int(floor_log2_terminate) - : (n < (1 << middle)) ? int(floor_log2_move_down) - : (n==0) ? int(floor_log2_bogus) - : int(floor_log2_move_up) + value = (upper <= lower + 1) ? int(meta_floor_log2_terminate) + : (n < (1 << middle)) ? int(meta_floor_log2_move_down) + : (n==0) ? int(meta_floor_log2_bogus) + : int(meta_floor_log2_move_up) }; }; template::value> -struct floor_log2 {}; + int selector = meta_floor_log2_selector::value> +struct meta_floor_log2 {}; template -struct floor_log2 +struct meta_floor_log2 { - enum { value = floor_log2::middle>::value }; + enum { value = meta_floor_log2::middle>::value }; }; template -struct floor_log2 +struct meta_floor_log2 { - enum { value = floor_log2::middle, upper>::value }; + enum { value = meta_floor_log2::middle, upper>::value }; }; template -struct floor_log2 +struct meta_floor_log2 { enum { value = (n >= ((unsigned int)(1) << (lower+1))) ? lower+1 : lower }; }; template -struct floor_log2 +struct meta_floor_log2 { // no value, error at compile time }; @@ -496,11 +615,22 @@ struct floor_log2 template struct random_default_impl { - typedef typename NumTraits::NonInteger NonInteger; - static inline Scalar run(const Scalar& x, const Scalar& y) - { - return x + Scalar((NonInteger(y)-x+1) * std::rand() / (RAND_MAX + NonInteger(1))); + { + typedef typename conditional::IsSigned,std::ptrdiff_t,std::size_t>::type ScalarX; + if(y range); + + return Scalar(ScalarX(x) + offset); } static inline Scalar run() @@ -508,7 +638,7 @@ struct random_default_impl #ifdef EIGEN_MAKING_DOCS return run(Scalar(NumTraits::IsSigned ? -10 : 0), Scalar(10)); #else - enum { rand_bits = floor_log2<(unsigned int)(RAND_MAX)+1>::value, + enum { rand_bits = meta_floor_log2<(unsigned int)(RAND_MAX)+1>::value, scalar_bits = sizeof(Scalar) * CHAR_BIT, shift = EIGEN_PLAIN_ENUM_MAX(0, int(rand_bits) - int(scalar_bits)), offset = NumTraits::IsSigned ? (1 << (EIGEN_PLAIN_ENUM_MIN(rand_bits,scalar_bits)-1)) : 0 @@ -545,97 +675,322 @@ inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random() return EIGEN_MATHFUNC_IMPL(random, Scalar)::run(); } +// Implementatin of is* functions + +// std::is* do not work with fast-math and gcc, std::is* are available on MSVC 2013 and newer, as well as in clang. +#if (EIGEN_HAS_CXX11_MATH && !(EIGEN_COMP_GNUC_STRICT && __FINITE_MATH_ONLY__)) || (EIGEN_COMP_MSVC>=1800) || (EIGEN_COMP_CLANG) +#define EIGEN_USE_STD_FPCLASSIFY 1 +#else +#define EIGEN_USE_STD_FPCLASSIFY 0 +#endif + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if::value,bool>::type +isnan_impl(const T&) { return false; } + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if::value,bool>::type +isinf_impl(const T&) { return false; } + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if::value,bool>::type +isfinite_impl(const T&) { return true; } + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if<(!internal::is_integral::value)&&(!NumTraits::IsComplex),bool>::type +isfinite_impl(const T& x) +{ + #if EIGEN_USE_STD_FPCLASSIFY + using std::isfinite; + return isfinite EIGEN_NOT_A_MACRO (x); + #else + return x::highest() && x>NumTraits::lowest(); + #endif +} + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if<(!internal::is_integral::value)&&(!NumTraits::IsComplex),bool>::type +isinf_impl(const T& x) +{ + #if EIGEN_USE_STD_FPCLASSIFY + using std::isinf; + return isinf EIGEN_NOT_A_MACRO (x); + #else + return x>NumTraits::highest() || x::lowest(); + #endif +} + +template +EIGEN_DEVICE_FUNC +typename internal::enable_if<(!internal::is_integral::value)&&(!NumTraits::IsComplex),bool>::type +isnan_impl(const T& x) +{ + #if EIGEN_USE_STD_FPCLASSIFY + using std::isnan; + return isnan EIGEN_NOT_A_MACRO (x); + #else + return x != x; + #endif +} + +#if (!EIGEN_USE_STD_FPCLASSIFY) + +#if EIGEN_COMP_MSVC + +template EIGEN_DEVICE_FUNC bool isinf_msvc_helper(T x) +{ + return _fpclass(x)==_FPCLASS_NINF || _fpclass(x)==_FPCLASS_PINF; +} + +//MSVC defines a _isnan builtin function, but for double only +EIGEN_DEVICE_FUNC inline bool isnan_impl(const long double& x) { return _isnan(x); } +EIGEN_DEVICE_FUNC inline bool isnan_impl(const double& x) { return _isnan(x); } +EIGEN_DEVICE_FUNC inline bool isnan_impl(const float& x) { return _isnan(x); } + +EIGEN_DEVICE_FUNC inline bool isinf_impl(const long double& x) { return isinf_msvc_helper(x); } +EIGEN_DEVICE_FUNC inline bool isinf_impl(const double& x) { return isinf_msvc_helper(x); } +EIGEN_DEVICE_FUNC inline bool isinf_impl(const float& x) { return isinf_msvc_helper(x); } + +#elif (defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ && EIGEN_COMP_GNUC) + +#if EIGEN_GNUC_AT_LEAST(5,0) + #define EIGEN_TMP_NOOPT_ATTRIB EIGEN_DEVICE_FUNC inline __attribute__((optimize("no-finite-math-only"))) +#else + // NOTE the inline qualifier and noinline attribute are both needed: the former is to avoid linking issue (duplicate symbol), + // while the second prevent too aggressive optimizations in fast-math mode: + #define EIGEN_TMP_NOOPT_ATTRIB EIGEN_DEVICE_FUNC inline __attribute__((noinline,optimize("no-finite-math-only"))) +#endif + +template<> EIGEN_TMP_NOOPT_ATTRIB bool isnan_impl(const long double& x) { return __builtin_isnan(x); } +template<> EIGEN_TMP_NOOPT_ATTRIB bool isnan_impl(const double& x) { return __builtin_isnan(x); } +template<> EIGEN_TMP_NOOPT_ATTRIB bool isnan_impl(const float& x) { return __builtin_isnan(x); } +template<> EIGEN_TMP_NOOPT_ATTRIB bool isinf_impl(const double& x) { return __builtin_isinf(x); } +template<> EIGEN_TMP_NOOPT_ATTRIB bool isinf_impl(const float& x) { return __builtin_isinf(x); } +template<> EIGEN_TMP_NOOPT_ATTRIB bool isinf_impl(const long double& x) { return __builtin_isinf(x); } + +#undef EIGEN_TMP_NOOPT_ATTRIB + +#endif + +#endif + +// The following overload are defined at the end of this file +template bool isfinite_impl(const std::complex& x); +template bool isnan_impl(const std::complex& x); +template bool isinf_impl(const std::complex& x); + } // end namespace internal /**************************************************************************** -* Generic math function * +* Generic math functions * ****************************************************************************/ namespace numext { +#ifndef __CUDA_ARCH__ +template +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE T mini(const T& x, const T& y) +{ + EIGEN_USING_STD_MATH(min); + return min EIGEN_NOT_A_MACRO (x,y); +} + +template +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE T maxi(const T& x, const T& y) +{ + EIGEN_USING_STD_MATH(max); + return max EIGEN_NOT_A_MACRO (x,y); +} +#else +template +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE T mini(const T& x, const T& y) +{ + return y < x ? y : x; +} +template<> +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE float mini(const float& x, const float& y) +{ + return fmin(x, y); +} +template +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE T maxi(const T& x, const T& y) +{ + return x < y ? y : x; +} +template<> +EIGEN_DEVICE_FUNC +EIGEN_ALWAYS_INLINE float maxi(const float& x, const float& y) +{ + return fmax(x, y); +} +#endif + + template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(real, Scalar) real(const Scalar& x) { return EIGEN_MATHFUNC_IMPL(real, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline typename internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) >::type real_ref(const Scalar& x) { return internal::real_ref_impl::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) real_ref(Scalar& x) { return EIGEN_MATHFUNC_IMPL(real_ref, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(imag, Scalar) imag(const Scalar& x) { return EIGEN_MATHFUNC_IMPL(imag, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC +inline EIGEN_MATHFUNC_RETVAL(arg, Scalar) arg(const Scalar& x) +{ + return EIGEN_MATHFUNC_IMPL(arg, Scalar)::run(x); +} + +template +EIGEN_DEVICE_FUNC inline typename internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) >::type imag_ref(const Scalar& x) { return internal::imag_ref_impl::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) imag_ref(Scalar& x) { return EIGEN_MATHFUNC_IMPL(imag_ref, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(conj, Scalar) conj(const Scalar& x) { return EIGEN_MATHFUNC_IMPL(conj, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(abs2, Scalar) abs2(const Scalar& x) { return EIGEN_MATHFUNC_IMPL(abs2, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(norm1, Scalar) norm1(const Scalar& x) { return EIGEN_MATHFUNC_IMPL(norm1, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(hypot, Scalar) hypot(const Scalar& x, const Scalar& y) { return EIGEN_MATHFUNC_IMPL(hypot, Scalar)::run(x, y); } template -inline EIGEN_MATHFUNC_RETVAL(atanh2, Scalar) atanh2(const Scalar& x, const Scalar& y) +EIGEN_DEVICE_FUNC +inline EIGEN_MATHFUNC_RETVAL(log1p, Scalar) log1p(const Scalar& x) { - return EIGEN_MATHFUNC_IMPL(atanh2, Scalar)::run(x, y); + return EIGEN_MATHFUNC_IMPL(log1p, Scalar)::run(x); } template +EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(pow, Scalar) pow(const Scalar& x, const Scalar& y) { return EIGEN_MATHFUNC_IMPL(pow, Scalar)::run(x, y); } -// std::isfinite is non standard, so let's define our own version, -// even though it is not very efficient. -template bool (isfinite)(const T& x) +template EIGEN_DEVICE_FUNC bool (isnan) (const T &x) { return internal::isnan_impl(x); } +template EIGEN_DEVICE_FUNC bool (isinf) (const T &x) { return internal::isinf_impl(x); } +template EIGEN_DEVICE_FUNC bool (isfinite)(const T &x) { return internal::isfinite_impl(x); } + +template +EIGEN_DEVICE_FUNC +inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x) +{ + return EIGEN_MATHFUNC_IMPL(round, Scalar)::run(x); +} + +template +EIGEN_DEVICE_FUNC +T (floor)(const T& x) +{ + EIGEN_USING_STD_MATH(floor); + return floor(x); +} + +template +EIGEN_DEVICE_FUNC +T (ceil)(const T& x) { - return x::highest() && x>NumTraits::lowest(); + EIGEN_USING_STD_MATH(ceil); + return ceil(x); +} + +// Log base 2 for 32 bits positive integers. +// Conveniently returns 0 for x==0. +inline int log2(int x) +{ + eigen_assert(x>=0); + unsigned int v(x); + static const int table[32] = { 0, 9, 1, 10, 13, 21, 2, 29, 11, 14, 16, 18, 22, 25, 3, 30, 8, 12, 20, 28, 15, 17, 24, 7, 19, 27, 23, 6, 26, 5, 4, 31 }; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + return table[(v * 0x07C4ACDDU) >> 27]; } } // end namespace numext namespace internal { +template +bool isfinite_impl(const std::complex& x) +{ + return (numext::isfinite)(numext::real(x)) && (numext::isfinite)(numext::imag(x)); +} + +template +bool isnan_impl(const std::complex& x) +{ + return (numext::isnan)(numext::real(x)) || (numext::isnan)(numext::imag(x)); +} + +template +bool isinf_impl(const std::complex& x) +{ + return ((numext::isinf)(numext::real(x)) || (numext::isinf)(numext::imag(x))) && (!(numext::isnan)(x)); +} + /**************************************************************************** * Implementation of fuzzy comparisons * ****************************************************************************/ @@ -649,18 +1004,19 @@ template struct scalar_fuzzy_default_impl { typedef typename NumTraits::Real RealScalar; - template + template EIGEN_DEVICE_FUNC static inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y, const RealScalar& prec) { - using std::abs; + EIGEN_USING_STD_MATH(abs); return abs(x) <= abs(y) * prec; } + EIGEN_DEVICE_FUNC static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar& prec) { - using std::min; - using std::abs; - return abs(x - y) <= (min)(abs(x), abs(y)) * prec; + EIGEN_USING_STD_MATH(abs); + return abs(x - y) <= numext::mini(abs(x), abs(y)) * prec; } + EIGEN_DEVICE_FUNC static inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, const RealScalar& prec) { return x <= y || isApprox(x, y, prec); @@ -671,15 +1027,17 @@ template struct scalar_fuzzy_default_impl { typedef typename NumTraits::Real RealScalar; - template + template EIGEN_DEVICE_FUNC static inline bool isMuchSmallerThan(const Scalar& x, const Scalar&, const RealScalar&) { return x == Scalar(0); } + EIGEN_DEVICE_FUNC static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar&) { return x == y; } + EIGEN_DEVICE_FUNC static inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, const RealScalar&) { return x <= y; @@ -697,29 +1055,28 @@ struct scalar_fuzzy_default_impl } static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar& prec) { - using std::min; - return numext::abs2(x - y) <= (min)(numext::abs2(x), numext::abs2(y)) * prec * prec; + return numext::abs2(x - y) <= numext::mini(numext::abs2(x), numext::abs2(y)) * prec * prec; } }; template struct scalar_fuzzy_impl : scalar_fuzzy_default_impl::IsComplex, NumTraits::IsInteger> {}; -template +template EIGEN_DEVICE_FUNC inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y, typename NumTraits::Real precision = NumTraits::dummy_precision()) { return scalar_fuzzy_impl::template isMuchSmallerThan(x, y, precision); } -template +template EIGEN_DEVICE_FUNC inline bool isApprox(const Scalar& x, const Scalar& y, typename NumTraits::Real precision = NumTraits::dummy_precision()) { return scalar_fuzzy_impl::isApprox(x, y, precision); } -template +template EIGEN_DEVICE_FUNC inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, typename NumTraits::Real precision = NumTraits::dummy_precision()) { @@ -742,17 +1099,19 @@ template<> struct scalar_fuzzy_impl { typedef bool RealScalar; - template + template EIGEN_DEVICE_FUNC static inline bool isMuchSmallerThan(const bool& x, const bool&, const bool&) { return !x; } + EIGEN_DEVICE_FUNC static inline bool isApprox(bool x, bool y, bool) { return x == y; } + EIGEN_DEVICE_FUNC static inline bool isApproxOrLessThan(const bool& x, const bool& y, const bool&) { return (!x) || y; diff --git a/nuparu/include/Eigen/src/Core/Matrix.h b/nuparu/include/Eigen/src/Core/Matrix.h index 0ba5d90c..ce1b70d2 100644 --- a/nuparu/include/Eigen/src/Core/Matrix.h +++ b/nuparu/include/Eigen/src/Core/Matrix.h @@ -24,13 +24,13 @@ namespace Eigen { * The %Matrix class encompasses \em both fixed-size and dynamic-size objects (\ref fixedsize "note"). * * The first three template parameters are required: - * \tparam _Scalar \anchor matrix_tparam_scalar Numeric type, e.g. float, double, int or std::complex. - * User defined sclar types are supported as well (see \ref user_defined_scalars "here"). + * \tparam _Scalar Numeric type, e.g. float, double, int or std::complex. + * User defined scalar types are supported as well (see \ref user_defined_scalars "here"). * \tparam _Rows Number of rows, or \b Dynamic * \tparam _Cols Number of columns, or \b Dynamic * * The remaining template parameters are optional -- in most cases you don't have to worry about them. - * \tparam _Options \anchor matrix_tparam_options A combination of either \b #RowMajor or \b #ColMajor, and of either + * \tparam _Options A combination of either \b #RowMajor or \b #ColMajor, and of either * \b #AutoAlign or \b #DontAlign. * The former controls \ref TopicStorageOrders "storage order", and defaults to column-major. The latter controls alignment, which is required * for vectorization. It defaults to aligning matrices except for fixed sizes that aren't a multiple of the packet size. @@ -97,6 +97,40 @@ namespace Eigen { * are the dimensions of the original matrix, while _Rows and _Cols are Dynamic. *

    ko|{5fH@GonK4$>b9vT43Qtc@~5K` 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%0DdaqrvZLC;1d8p1MmXC!+;k8UIchC;3a@h1iTdR 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%0AC7z5BRO%qQ7v9K+((KBJS4rya_JyZoSB` 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

  • d%C0zj_H=`>`LpYq_t?W_9);zj}xHE#x2c7jf1C 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%0DpUBWUq8wVjfDsDZVGuT}H0UIV5Gd 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