NemoMath: Issues
https://code.cor-lab.de/
https://code.cor-lab.de/favicon.ico?1401972073
2013-05-10T05:16:52Z
Open Source Collaboration Platform
Redmine
Feature #1495 (New): Provide Collection Interfaces for Matrices' rows and columns
https://code.cor-lab.de/issues/1495
2013-05-10T05:16:52Z
M. Rolf
mrolf@cor-lab.uni-bielefeld.de
<p>This would allow a neat approach for col-/row-wise manipulations,<br />but also a nice abstraction for "data-matrices" with data stored per row/col.<br />E.g. some client that needs multiple data could receive either a matrix-column-collection,<br />or a timeseries-entry-collection, or whatever</p>
Feature #1453 (New): Explore use of adaptive rvalue/lvalue argument passing
https://code.cor-lab.de/issues/1453
2013-03-25T12:48:30Z
M. Rolf
mrolf@cor-lab.uni-bielefeld.de
<p>See <a class="external" href="http://codesynthesis.com/~boris/blog/2012/06/26/efficient-argument-passing-cxx11-part2">http://codesynthesis.com/~boris/blog/2012/06/26/efficient-argument-passing-cxx11-part2</a></p>
<p>For instance<br /><pre>
matrix operator+ (in<matrix> x, in<matrix> y)
{
matrix&& x1 = x.rvalue () ? x.rget () :
y.rvalue () ? y.rget () : matrix (x);
const matrix& y1 = x.rvalue () ? y :
y.rvalue () ? x : y;
x1 += y1;
return std::move (x1);
}
</pre></p>
<p>... using ...</p>
<pre>
#include <type_traits>
template <typename T>
struct in
{
in (const T& l): lv_ (&l), rv_ (0) {}
in (T&& r): lv_ (0), rv_ (&r) {}
// Accessors.
//
bool lvalue () const {return lv_ != 0;}
bool rvalue () const {return rv_ != 0;}
operator const T& () const {return get ();}
const T& get () const {return lv_ ? *lv_ : *rv_;}
T&& rget () const {return *rv_;}
// Move. Returns a copy if lvalue.
//
T move () const {return lv_ ? *lv_ : std::move (*rv_);}
// Support for implicit conversion via perfect forwarding.
//
typedef std::aligned_storage<sizeof (T), alignof (T)> storage;
template <typename T1,
typename std::enable_if<
std::is_convertible<T1, T>::value, int>::type = 0>
in (T1&& x, storage s = storage ())
: lv_ (0), rv_ (new (&s) T (x)) {}
in (T& l): lv_ (&l), rv_ (0) {} // For T1&& becoming T1&.
private:
const T* lv_;
T* rv_;
};
</pre>
Feature #594 (New): Code Coverage stats
https://code.cor-lab.de/issues/594
2011-09-29T10:14:02Z
Anonymous
<p>Can we get code coverage statistics? Like here <a class="external" href="https://ci.cor-lab.org/job/RSB/label=ubuntu_lucid_32bit/">https://ci.cor-lab.org/job/RSB/label=ubuntu_lucid_32bit/</a> (cobertura) for example.<br />At a first sight, this doesn`t seem to be possible with boost test.</p>
Feature #577 (New): rvalue support with GCC<=4.3
https://code.cor-lab.de/issues/577
2011-09-20T14:34:02Z
M. Rolf
mrolf@cor-lab.uni-bielefeld.de
Feature #576 (New): Expression Templates for MathVector arithmetics
https://code.cor-lab.de/issues/576
2011-09-20T14:33:37Z
M. Rolf
mrolf@cor-lab.uni-bielefeld.de