www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - opDispatch swizzle.

------------lu9NmVm1OY3OUgtwAefU3e
Content-Type: text/plain; charset=iso-8859-15; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit

Hello!

For me, the best language/compiler tester is a generic, high performance  
vector/matrix library.
D so far the best tool i have seen for both, and with the addition of  
opDispatch... awesome!

As a newbie, this is my take on basic vector swizzle.
I can't think like a "D coder" yet (as you see!).
What about your opDispatch tries, ideas, code snippets (especially on  
vector swizzle) ?

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
------------lu9NmVm1OY3OUgtwAefU3e
Content-Disposition: attachment; filename=vector.d
Content-Type: application/octet-stream; name=vector.d
Content-Transfer-Encoding: Base64

bW9kdWxlIG1hdGgudmVjdG9yOw0KDQpwcml2YXRlIGVudW0gb3B0aW9ucyA6IGJv
b2wgew0KCW5hbWVfeHl6dwk9IHRydWUsDQp9DQoNCnN0cnVjdCB2ZWN0b3IoVCwg
dWludCBOKSB7DQoJDQoJdGhpcyhVLi4uKShVIHZhbHVlcykgaWYgKFUubGVuZ3Ro
ID09IE4pIHsNCgkJYXNzaWduIShOKSh2YWx1ZXMpOw0KCX0NCgkNCgl2b2lkIGFz
c2lnbih1aW50IFAsIFUuLi4pKFUgdmFsdWVzKSB7DQoJCWVsZW1zX1tQIC0gMV0g
PSB2YWx1ZXNbUCAtIDFdOw0KCQlzdGF0aWMgaWYoUCA+IDEpDQoJCQlhc3NpZ24h
KFAtMSkodmFsdWVzKTsNCgl9DQoJDQoJdm9pZCBzd2l6emxlKHN0cmluZyBzLCB1
aW50IFAsIFUpKHJlZiBVIG0pIHsNCgkJCXN0YXRpYyBpZihzW1AtMV0gPT0gJ3gn
CXx8IHNbUC0xXSA9PSAncicpCW0uZWxlbXNfW1AtMV0gPSBlbGVtc19bMF07DQoJ
CWVsc2UJc3RhdGljIGlmKHNbUC0xXSA9PSAneScJfHwgc1tQLTFdID09ICdnJykJ
bS5lbGVtc19bUC0xXSA9IGVsZW1zX1sxXTsNCgkJZWxzZQlzdGF0aWMgaWYoc1tQ
LTFdID09ICd6Jwl8fCBzW1AtMV0gPT0gJ2InKQltLmVsZW1zX1tQLTFdID0gZWxl
bXNfWzJdOw0KCQllbHNlCXN0YXRpYyBpZihzW1AtMV0gPT0gJ3cnCXx8IHNbUC0x
XSA9PSAnYScpCW0uZWxlbXNfW1AtMV0gPSBlbGVtc19bM107DQoJCWVsc2UJc3Rh
dGljIGFzc2VydCgwKTsNCgkJDQoJCXN0YXRpYyBpZihQID4gMSkNCgkJCXN3aXp6
bGUhKHMsIFAtMSkobSk7DQoJfQ0KCQ0KCXZlY3RvciEoVCwgcy5sZW5ndGgpIG9w
RGlzcGF0Y2goc3RyaW5nIHMpKCkgew0KCQl0eXBlb2YocmV0dXJuKSBtOw0KCQlz
d2l6emxlIShzLCBzLmxlbmd0aCkobSk7DQoJCXJldHVybiBtOw0KCX0NCgkNCglw
cml2YXRlIFRbTl0gZWxlbXNfOw0KfQ0KDQphbGlhcyB2ZWN0b3IhKGZsb2F0LCAy
KSB2ZWMyOw0KYWxpYXMgdmVjdG9yIShmbG9hdCwgMykgdmVjMzsNCmFsaWFzIHZl
Y3RvciEoZmxvYXQsIDQpIHZlYzQ7DQphbGlhcyB2ZWN0b3IhKGZsb2F0LCA5KSB2
ZWM5Ow0KDQpwcml2YXRlIGltcG9ydCBzdGQuc3RkaW8gOiB3cml0ZWxuOw0KDQp1
bml0dGVzdCB7DQoJdmVjMiBhID0gdmVjMigxLjBmLCAyLjBmKTsNCgl2ZWMzIGIg
PSB2ZWMzKDEuMGYsIDIuMGYsIDMuMGYpOw0KCXZlYzQgYyA9IHZlYzQoMS4wZiwg
Mi4wZiwgMy4wZiwgNC4wZik7DQoJdmVjNCBkID0gYi56enp6Ow0KCXZlYzQgZSA9
IGEueHl4eTsNCgl2ZWM5IGYgPSBjLnd3d3d3d3d3dzsNCgl2ZWM5IGcgPSBjLmJi
YmJiYmJiYjsNCgkNCglhc3NlcnQoYSAhPSBiLnh4KTsNCglhc3NlcnQoYSA9PSBi
Lnh5KTsNCglhc3NlcnQoYi54eXogPT0gYy54eXopOw0KCWFzc2VydChjLnd3enkg
PT0gdmVjNCg0LCA0LCAzLCAyKSk7DQoJYXNzZXJ0KGMuenp6ID09IHZlYzMoMywg
MywgMykpOw0KCWFzc2VydChmID09IHZlYzkoNCwgNCwgNCwgNCwgNCwgNCwgNCwg
NCwgNCkpOw0KCWFzc2VydChnID09IHZlYzkoMywgMywgMywgMywgMywgMywgMywg
MywgMykpOw0KCQ0KCXdyaXRlbG4oImE6ICIsIAlhLnR1cGxlb2YpOw0KCXdyaXRl
bG4oImI6ICIsIAliLnR1cGxlb2YpOw0KCXdyaXRlbG4oImM6ICIsIAljLnR1cGxl
b2YpOw0KCXdyaXRlbG4oImQ6ICIsIAlkLnR1cGxlb2YpOw0KCXdyaXRlbG4oImU6
ICIsIAllLnR1cGxlb2YpOw0KCXdyaXRlbG4oImY6ICIsICAJZi50dXBsZW9mKTsN
Cgl3cml0ZWxuKCJnOiAiLCAJZy50dXBsZW9mKTsNCn0NCg0KaW50IG1haW4oKSB7
DQoJcmV0dXJuIDA7DQp9DQo=

------------lu9NmVm1OY3OUgtwAefU3e--
Dec 12 2009