Jump to page: 1 2
Thread overview
[Issue 9976] Needlessly large instantiation depth in std.typetuple algorithms
[Issue 9976] more compile time algorithms implementation used deep recursion.
Apr 22, 2013
Kenji Hara
Apr 22, 2013
David Nadlinger
Apr 23, 2013
khurshid
Apr 23, 2013
khurshid
Apr 23, 2013
khurshid
Apr 24, 2013
Kenji Hara
Apr 24, 2013
khurshid
Apr 24, 2013
khurshid
Jun 01, 2013
Andrej Mitrovic
Jun 14, 2013
khurshid
Jun 14, 2013
Andrej Mitrovic
Jun 14, 2013
khurshid
April 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |performance, pull
          Component|general                     |Phobos
            Version|unspecified                 |D2
         AssignedTo|braddr@puremagic.com        |nobody@puremagic.com
            Product|puremagic.com               |D


--- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-21 23:25:56 PDT ---
https://github.com/D-Programming-Language/phobos/pull/1271

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #2 from github-bugzilla@puremagic.com 2013-04-22 10:18:48 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/43d1196c0701103f3e666ec4282055d7ed407be9
fix Issue 9976 - more compile time algorithms implementation used deep
recursion

Reduce instantiation depth in staticMap, allSatisfy, anySatisfy, and Filter.

https://github.com/D-Programming-Language/phobos/commit/cf3a3ee0a5cc7f7ed3f9e6ced31ea5d004f8df14 Merge pull request #1271 from 9rnsr/fix9976

Issue 9976 - more compile time algorithms implementation used deep recursion

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976


David Nadlinger <code@klickverbot.at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |code@klickverbot.at
         Resolution|                            |FIXED
            Summary|more compile time           |Needlessly large
                   |algorithms implementation   |instantiation depth in
                   |used  deep recursion.       |std.typetuple algorithms


--- Comment #3 from David Nadlinger <code@klickverbot.at> 2013-04-22 10:24:03 PDT ---
I hope you didn't work on a pull request as well; Kenji was fast(er), as usual.

If you have additional suggestions, feel free to reopen the issue or post a new one.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 23, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #4 from khurshid <khurshid.normuradov@gmail.com> 2013-04-23 00:27:06 PDT ---
(In reply to comment #3)
> I hope you didn't work on a pull request as well; Kenji was fast(er), as usual.
> 
> If you have additional suggestions, feel free to reopen the issue or post a new one.

Yes, I am first time here.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 23, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976


khurshid <khurshid.normuradov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


--- Comment #5 from khurshid <khurshid.normuradov@gmail.com> 2013-04-23 00:36:32 PDT ---
And this :))

template Reverse(TList...)
{
    static if (TList.length <= 1 )
        alias TList Reverse;
    else
        alias TypeTuple!( TList[$-1], Reverse!(TList[1..$-1]), TList[0])
Reverse;

}

:)))

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 23, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #6 from khurshid <khurshid.normuradov@gmail.com> 2013-04-23 01:05:52 PDT ---
(In reply to comment #5)
> And this :))
> 
> template Reverse(TList...)
> {
>     static if (TList.length <= 1 )
>         alias TList Reverse;
>     else
>         alias TypeTuple!( TList[$-1], Reverse!(TList[1..$-1]), TList[0])
> Reverse;
> 
> }
> 
> :)))

or

template Reverse (TList...)
{
    static if (TList.length <= 1 )
    {
        alias Reverse  = TList;
    } else {
        alias Reverse  = TypeTuple!( Reverse !(TList[$/2..$]) ,
Reverse!(TList[0..$/2]));
    }
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #7 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-23 22:42:50 PDT ---
(In reply to comment #5)
> And this :))
> 
> template Reverse(TList...)
[snip]

https://github.com/D-Programming-Language/phobos/pull/1274

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #8 from khurshid <khurshid.normuradov@gmail.com> 2013-04-23 23:18:33 PDT ---
(In reply to comment #7)
> (In reply to comment #5)
> > And this :))
> > 
> > template Reverse(TList...)
> [snip]
> 
> https://github.com/D-Programming-Language/phobos/pull/1274

Thanks, Kenji Hara.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #9 from khurshid <khurshid.normuradov@gmail.com> 2013-04-24 01:18:55 PDT ---
I'm not sure, but, is this right?

template MostDerived(T, TList...)
{
    static if (TList.length == 0)
    {
       alias MostDerived = T;
    }
    else static if (TList.length == 1 )
    {
         static if (is (TList[0] : T) )
         {
             alias  MostDerived = TList[0];
         }
         else
         {
             alias MostDerived = T;
         }
    }
    else
    {
       alias Half = MostDerived!(T, TList[0..$/2]);
       alias MostDerived = MostDerived!(Half, TList[$/2..$]);
    }
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 01, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9976



--- Comment #10 from github-bugzilla@puremagic.com 2013-05-31 18:55:57 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/d3df489171890ccdd73708a3edfa047efa01c4d2
fix Issue 9976 - Needlessly large instantiation depth in std.typetuple
algorithms

https://github.com/D-Programming-Language/phobos/commit/69f5377acd873301fd9f7cd742e9229050bb4342 Merge pull request #1274 from 9rnsr/fix9976

Apply ddoc-ed unittest feature in std.typetuple, and fix issue 9976

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2