digitalmars.D.learn - A different vector op
- bearophile (11/11) Jul 01 2011 Currently this is not allowed, but do you desire a feature like this?
- Don (7/21) Jul 05 2011 An interesting use case:
- bearophile (4/11) Jul 06 2011 I don't often have to update arrays of complex numbers, more often I hav...
- Wilfried Kirschenmann (13/22) Jul 17 2011 In fact, I would be more interested in the opposite :
- bearophile (4/5) Jul 18 2011 If you allow that syntax on the left you probably allow it on the right ...
- Andrej Mitrovic (3/3) Jul 18 2011 float[] buffers = malloc..;
Currently this is not allowed, but do you desire a feature like this? struct Foo { int x, y; int[100] array; } void main() { auto foos = new Foo[100]; foos[].y += 10; // *** } Bye, bearophile
Jul 01 2011
bearophile wrote:Currently this is not allowed, but do you desire a feature like this? struct Foo { int x, y; int[100] array; } void main() { auto foos = new Foo[100]; foos[].y += 10; // *** } Bye, bearophileAn interesting use case: void main() { cdouble[100] foos; foos[].re = 5.0; }
Jul 05 2011
Don:An interesting use case: void main() { cdouble[100] foos; foos[].re = 5.0; }I don't often have to update arrays of complex numbers, more often I have to set or update a single field of an array of structs. Bye, bearophile
Jul 06 2011
On Sat, Jul 2, 2011 at 04:12, bearophile <bearophileHUGS lycos.com> wrote:Currently this is not allowed, but do you desire a feature like this? struct Foo { =C2=A0 =C2=A0int x, y; =C2=A0 =C2=A0int[100] array; } void main() { =C2=A0 =C2=A0auto foos =3D new Foo[100]; =C2=A0 =C2=A0foos[].y +=3D 10; // *** }In fact, I would be more interested in the opposite : void main() { auto foos =3D new Foo[100]; auto ints =3D new int[100] ints =3D foos[].y; } This would simplify the wrinting of numerous application, especially in the writing of image/video processing (eg. rgb2yuv conversions) This would also simplify the writing of template library transforming "array of struct" to "struct of arrays" in a transparent manner for the library user. Wilfried
Jul 17 2011
Wilfried Kirschenmann:In fact, I would be more interested in the opposite :If you allow that syntax on the left you probably allow it on the right too. Bye, bearophile
Jul 18 2011
float[] buffers = malloc..; float*[] CBuffers = buffers[].ptr; Pure win.
Jul 18 2011