Re: Allocating byte aligned array

2017-09-29 Thread Igor via Digitalmars-d-learn
On Wednesday, 27 September 2017 at 21:48:35 UTC, timvol wrote: On Wednesday, 27 September 2017 at 21:44:48 UTC, Ali Çehreli wrote: On 09/27/2017 02:39 PM, timvol wrote: [...] void main() { auto mem = new ubyte[1024+15]; auto ptr = cast(ubyte*)(cast(ulong)(mem.ptr + 15) & ~0x0FUL);

Re: Allocating byte aligned array

2017-09-27 Thread timvol via Digitalmars-d-learn
On Wednesday, 27 September 2017 at 21:44:48 UTC, Ali Çehreli wrote: On 09/27/2017 02:39 PM, timvol wrote: [...] void main() { auto mem = new ubyte[1024+15]; auto ptr = cast(ubyte*)(cast(ulong)(mem.ptr + 15) & ~0x0FUL); auto arr = ptr[0..1024]; } Ali Works perfect. Thank you!

Re: Allocating byte aligned array

2017-09-27 Thread Ali Çehreli via Digitalmars-d-learn
On 09/27/2017 02:39 PM, timvol wrote: Hi guys, how can I allocate an (e.g. 16) byte aligned array? In C I can do the following: void *mem = malloc(1024+15); void *ptr = ((uintptr_t)mem+15) & ~ (uintptr_t)0x0F; memset_16aligned(ptr, 0, 1024); free(mem); I think in D it looks simi

Allocating byte aligned array

2017-09-27 Thread timvol via Digitalmars-d-learn
Hi guys, how can I allocate an (e.g. 16) byte aligned array? In C I can do the following: void *mem = malloc(1024+15); void *ptr = ((uintptr_t)mem+15) & ~ (uintptr_t)0x0F; memset_16aligned(ptr, 0, 1024); free(mem); I think in D it looks similar to this: auto mem = new ubyte[