On Monday, 27 January 2014 at 13:18:06 UTC, Meta wrote:
On Monday, 27 January 2014 at 11:15:36 UTC, matovitch wrote:
Hello !

Yesterday, I started a project to implement completly static Laurent's polynomials (i.e. polynomials formed by z^n and z^-n monomials). I thought I could represent these polynomials with an immutable range of Tuple!(numeric_type, int).

I've tried (and failed) to implement the addition here :

   https://github.com/matovitch/StaticLaurent

Is my goal achivable ? How would you do it ?

ps : I am a *total beginner* waiting for any advice(s).

Immutable and ranges do not mix very well. Can you include some information on what the exact problem is?

I noticed ! ^^

filter try to perform a memcpy :

/usr/include/dmd/phobos/std/conv.d(3993): Error: memcpy cannot be interpreted at compile time, because it has no available source code /usr/include/dmd/phobos/std/range.d(4227): called from here: emplace(addr, front(this._ranges_field_0)) /usr/include/dmd/phobos/std/algorithm.d(3171): called from here: this._current.front() /usr/include/dmd/phobos/std/algorithm.d(1381): called from here: this._input.front() /usr/include/dmd/phobos/std/algorithm.d(1381): called from here: __lambda3(this._input.front()) /usr/include/dmd/phobos/std/algorithm.d(1369): called from here: (FilterResult!(__lambda3, Result) __ctmp1478 = FilterResult(Result);
 , __ctmp1478).this(rs)
laurent.d(53): called from here: filter(myCartesianProduct([Tuple(1.00000, 0), Tuple(1.00000, 1)], [Tuple(2.00000, 0), Tuple(0.5, 1)])) laurent.d(51): called from here: map(filter(myCartesianProduct([Tuple(1.00000, 0), Tuple(1.00000, 1)], [Tuple(2.00000, 0), Tuple(0.5, 1)]))) laurent_test.d(19): Error: template instance laurent_test.main.add!(p1, p2) error instantiating

Reply via email to