]> https://gitweb.dealii.org/ - dealii.git/commit
Move the matrix-free project copy operation up the call stack. 3833/head
authorDavid Wells <wellsd2@rpi.edu>
Sun, 22 Jan 2017 17:04:16 +0000 (12:04 -0500)
committerDavid Wells <wellsd2@rpi.edu>
Sun, 22 Jan 2017 19:00:37 +0000 (14:00 -0500)
commitee9c9cde498accf97f66ad357270ca4e288778cf
tree7d3e5cb959f42b544cec66d308cdcdafe57f554a
parent5b28e03193bfabc26f3fc2ccca4838039fee6d02
Move the matrix-free project copy operation up the call stack.

The matrix-free projection solves the linear system with a specific vector type
and then copies the result into the given one. This commit moves that copy
operation into a separate function so that the actual matrix free function no
longer depends on the type of the input vector. Put another way: we no longer
have to instantiate the matrix free projections for all possible vector types.

Before moving the copy operation:
                                    File name Memory, MB    Time, s
      source/numerics/vector_tools_project.cc       2774         76
source/numerics/vector_tools_project_inst2.cc       2829         81
source/numerics/vector_tools_project_inst3.cc       2823         86

After:
                                    File name Memory, MB    Time, s
      source/numerics/vector_tools_project.cc       1855         47
source/numerics/vector_tools_project_inst2.cc       1995         51
source/numerics/vector_tools_project_inst3.cc       2183         55
include/deal.II/numerics/vector_tools.templates.h

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.