updated vspline package data to upstream version 0.4.1
- To: Sébastien Villemot <sebastien@debian.org>
- Cc: Debian Science List <debian-science@lists.debian.org>
- Subject: updated vspline package data to upstream version 0.4.1
- From: "Kay F. Jahnke" <kfjahnke@gmail.com>
- Date: Mon, 8 Oct 2018 10:21:38 +0200
- Message-id: <[🔎] 0909e780-278d-477f-8af5-1e8d95b8a765@gmail.com>
- In-reply-to: <20180324101854.pkxhet5zhehgbopr@villemot.name>
- References: <20170825100312.7hgpk2wbblxzbfck@villemot.name> <94b328c1-863a-9c8a-a410-51df091c1669@gmail.com> <20170909112633.bknm3wt3qj4sxg6i@villemot.name> <ced2d0a6-526a-d3dc-dfea-49797c700ff8@gmail.com> <20170910121326.6cp6vs5zhvrhcl76@villemot.name> <6a1d8699-aedb-060d-40a8-4e2a9adb1166@gmail.com> <20171021210235.pjqsx7yak2o75pwn@villemot.name> <c7d437c3-5d58-5596-16a2-5ab0c766ab4f@gmail.com> <20171118131017.23q5i2l5xx36xf3c@villemot.name> <acd279b2-b1b1-366e-bb4e-a062f42ab82a@gmail.com> <20180324101854.pkxhet5zhehgbopr@villemot.name>
Dear Sébastien, dear group!
After roughly one year of tweaking, I've settled on vspline 0.4.1 as a
version which I'd like to release to debian. Most of the development
effort went into behind-the-scenes changes, making the backend more
capable and stable, while the high-level interface via the
transform-type functions has remained roughly the same.
The most significant modification is my handling of vector data:
Previously, my strategy was to only use Vc for vectorization, and
produce scalar code if Vc was not available. Now, if Vc is absent, I
switch from Vc's vector objects to similarly-shaped small aggregates
(using vigra::TinyVectors), which result in small, vector-friendly inner
loops. The effect is that even without Vc's explicit vector code, vector
code is still produced by the compiler's autovectorization stage. On the
code side this has the pleasant effect that I don't need to
differentiate between scalar and vector code: I can just use the vector
code throughout. With this new strategy, most of vspline's bulk data
operations are now roughly as fast without Vc as with Vc - the exception
being bulk evaluations, where the Vc code is still often faster, most
likely due to my code using Vc's explicit hardware gather/scatter
operations.
Apart from that, I have made great efforts to make the code as robust
and generic as possible, and I've also worked on precision,
recalculating all b-spline-related constants in high-precision
arithmetic (using GNU GMP, see bootstrap.cc), raising the maximal spline
degree vspline can handle to 45.
I hope my updates to the package data are all as they should be, and I'd
like to ask you, Sébastien, to take a look and, if everything is well,
build and upload the package. If anything is amiss, please let me know.
With fond regards
Kay F. Jahnke
Reply to: