digitalmars.D.learn - opDispatch swizzle.
- So <noncopyable gmail.com> Dec 12 2009
------------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








So <noncopyable gmail.com>