CTFE Status
Stefan Koch via Digitalmars-d
digitalmars-d at puremagic.com
Mon Nov 14 00:02:37 PST 2016
On Monday, 14 November 2016 at 07:57:20 UTC, Stefan Koch wrote:
> On Monday, 14 November 2016 at 05:27:15 UTC, Stefan Koch wrote:
>> Assignment to Array.length works now :)
>> the following code :
>>
>> uint[] makeArr()
>> {
>> uint[] arr;
>> arr.length = 5;
>> return arr;
>> }
>>
>>
>> pragma(msg, makeArr());
>>
>> results in :
>>
>> CTFE_DEBUG_MESSAGE : building Array of Length 5
>> [0u, 0u, 0u, 0u, 0u]
>
> Assignment now also works :)
>
> uint[] MakeAndInitArr(uint length)
> {
> uint[] arr;
> arr.length = length;
>
> foreach(i;0 .. length)
> {
> arr[i] = i + 3;
> }
> return arr;
> }
>
> pragma(msg, MakeAndInitArr(12));
>
> Output :
> [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
This for a length values in the range of short.max/4.
Which is the maximal heapSize for now.
This is up to 1.5 times faster then the old engine.
Once the heap-limit is lifted you can see this rock :)
More information about the Digitalmars-d
mailing list