From 8bc04f9a6d53a427ec2261961a760f84cd9c890c Mon Sep 17 00:00:00 2001 From: David Wells Date: Sun, 10 Sep 2017 22:52:54 -0400 Subject: [PATCH] Add a changelog entry for the Manifold incompatibities. --- .../incompatibilities/20170910DavidWells | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/news/changes/incompatibilities/20170910DavidWells diff --git a/doc/news/changes/incompatibilities/20170910DavidWells b/doc/news/changes/incompatibilities/20170910DavidWells new file mode 100644 index 0000000000..7714bbf8e2 --- /dev/null +++ b/doc/news/changes/incompatibilities/20170910DavidWells @@ -0,0 +1,19 @@ +Changed: The methods +
    +
  1. Manifold::get_new_point
  2. +
  3. Manifold::project_to_manifold
  4. +
+have had their declarations changed in an incompatible manner: these three +methods now take ArrayView arguments instead of std::vectors. This +change was done for performance reasons: before this change about a third of the +time spent generating a curved grid (in this particular benchmark, a circle +described with polar coordinates and a transfinite interpolation) was used in +allocating and freeing memory used by the std::vector arguments to +Manifold::get_new_point() even though the sizes of the arrays are usually known +at compilation time. This change completely eliminates this allocation cost. + +The method Manifold::add_new_points() has been removed in favor of +Manifold::get_new_points(), which also uses ArrayView arguments instead of +std::vectors. +
+(David Wells, 2017/09/10) -- 2.39.5