Proposal for subsref/subsasgn implementation
[email protected] Mon, 13 Nov 2006 10:22:23 +0100
| Newsgroups | gmane.comp.gnu.octave.sources |
|---|---|
| Message-ID | <[email protected]> |
This is a MIME message. If you are reading this part you should use a MIME reader. -------boundmain47727271616 Content-Type: multipart/alternative; boundary=-----boundalter150977 -------boundalter150977 Content-Type: text/plain Content-Transfer-Encoding: 8bit See attached code. Michael. -------boundalter150977 Content-Type: text/html Content-Transfer-Encoding: 8bit Content-Disposition: inline See attached code.<br> <br> Michael.<br> -------boundalter150977-- -------boundmain47727271616 Content-Type: application/octet-stream; name="subsref.cc" Content-Transfer-Encoding: base64 Content-Disposition: inline; I2luY2x1ZGUgPG9jdGF2ZS9jb25maWcuaD4KI2luY2x1ZGUgPG9jdGF2ZS9v di5oPgojaW5jbHVkZSA8b2N0YXZlL0NlbGwuaD4KI2luY2x1ZGUgPG9jdGF2 ZS9vY3QtbWFwLmg+CiNpbmNsdWRlIDxvY3RhdmUvZGVmdW4tZGxkLmg+Cgpz dGF0aWMgdm9pZCBjaGVja19zdWJzcmVmX2VsZW1lbnRzKGNvbnN0IGNoYXIq IG5hbWUsIGNvbnN0IG9jdGF2ZV92YWx1ZSYgYXJnLCBzdGQ6OnN0cmluZyYg dHlwZV9zdHJpbmcsIHN0ZDo6bGlzdDxvY3RhdmVfdmFsdWVfbGlzdD4mIGlk eCkKewoJaWYgKGFyZy5pc19tYXAoKSkKCXsKCQlPY3RhdmVfbWFwIG0gPSBh cmcubWFwX3ZhbHVlKCk7CgkJaWYgKG0ubGVuZ3RoKCkgPT0gMiAmJiBtLmNv bnRhaW5zKCJ0eXBlIikgJiYgbS5jb250YWlucygic3VicyIpKQoJCXsKCQkJ Q2VsbCYgdHlwZSA9IG0uY29udGVudHMoInR5cGUiKTsKCQkJQ2VsbCYgc3Vi cyA9IG0uY29udGVudHMoInN1YnMiKTsKCgkJCXR5cGVfc3RyaW5nID0gc3Rk OjpzdHJpbmcodHlwZS5sZW5ndGgoKSwgJ1wwJyk7CgoJCQlmb3IgKGludCBr PTA7IGs8dHlwZS5sZW5ndGgoKTsgaysrKQoJCQl7CgkJCQlpZiAoIXR5cGUo aykuaXNfc3RyaW5nKCkgfHwKCQkJCSAgICAhKHN1YnMoaykuaXNfc3RyaW5n KCkgfHwgc3VicyhrKS5pc19jZWxsKCkpKQoJCQkJewoJCQkJCWVycm9yKCIl czogaW52YWxpZCBpbmRleGluZyBlbGVtZW50IGF0IGluZGV4ICVkIiwgbmFt ZSwgaysxKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJc3RkOjpzdHJpbmcg aXRlbSA9IHR5cGUoaykuc3RyaW5nX3ZhbHVlKCk7CgkJCQlpZiAoaXRlbSA9 PSAie30iKQoJCQkJCXR5cGVfc3RyaW5nW2tdID0gJ3snOwoJCQkJZWxzZSBp ZiAoaXRlbSA9PSAiKCkiKQoJCQkJCXR5cGVfc3RyaW5nW2tdID0gJygnOwoJ CQkJZWxzZSBpZiAoaXRlbSA9PSAiLiIpCgkJCQkJdHlwZV9zdHJpbmdba10g PSAnLic7CgkJCQllbHNlCgkJCQl7CgkJCQkJZXJyb3IoIiVzOiBpbnZhbGlk IGluZGV4aW5nIHR5cGUgYCVzJyIsIG5hbWUsIGl0ZW0uY19zdHIoKSk7CgkJ CQkJcmV0dXJuOwoJCQkJfQoKCQkJCW9jdGF2ZV92YWx1ZV9saXN0IGlkeF9p dGVtOwoJCQkJaWYgKHN1YnMoaykuaXNfc3RyaW5nKCkpCgkJCQkJaWR4X2l0 ZW0oMCkgPSBzdWJzKGspOwoJCQkJZWxzZQoJCQkJewoJCQkJCUNlbGwgc3Vi c19jZWxsID0gc3VicyhrKS5jZWxsX3ZhbHVlKCk7CgkJCQkJZm9yIChpbnQg bj0wOyBuPHN1YnNfY2VsbC5sZW5ndGgoKTsgbisrKQoJCQkJCXsKCQkJCQkJ aWYgKHN1YnNfY2VsbChuKS5pc19zdHJpbmcoKSAmJiBzdWJzX2NlbGwobiku c3RyaW5nX3ZhbHVlKCkgPT0gIjoiKQoJCQkJCQkJaWR4X2l0ZW0obikgPSBv Y3RhdmVfdmFsdWUob2N0YXZlX3ZhbHVlOjptYWdpY19jb2xvbl90KTsKCQkJ CQkJZWxzZQoJCQkJCQkJaWR4X2l0ZW0obikgPSBzdWJzX2NlbGwobik7CgkJ CQkJfQoJCQkJfQoJCQkJaWR4LnB1c2hfYmFjayhpZHhfaXRlbSk7CgkJCX0K CQl9CgkJZWxzZQoJCQllcnJvcigiJXM6IGludmFsaWQgaW5kZXhpbmcgc3Ry dWN0dXJlLCBpdCBtdXN0IG9ubHkgY29udGFpbiBgdHlwZScgYW5kIGBzdWJz JyBmaWVsZCIsIG5hbWUpOwoJfQoJZWxzZQoJCWVycm9yKCIlczogc2Vjb25k IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJ1Y3R1cmUiLCBuYW1lKTsKfQoKREVG VU5fRExEKHN1YnNyZWYsIGFyZ3MsIG5hcmdvdXQsICIiKQp7CglvY3RhdmVf dmFsdWVfbGlzdCByZXR2YWw7CgoJaWYgKGFyZ3MubGVuZ3RoKCkgIT0gMikK CXsKCQlwcmludF91c2FnZSgpOwoJCXJldHVybiByZXR2YWw7Cgl9CgoJc3Rk OjpzdHJpbmcgdHlwZTsKCXN0ZDo6bGlzdDxvY3RhdmVfdmFsdWVfbGlzdD4g aWR4OwoKCWNoZWNrX3N1YnNyZWZfZWxlbWVudHMoInN1YnNyZWYiLCBhcmdz KDEpLCB0eXBlLCBpZHgpOwoJaWYgKCFlcnJvcl9zdGF0ZSkKCQlyZXR2YWwg PSBhcmdzKDApLnN1YnNyZWYodHlwZSwgaWR4LCBuYXJnb3V0KTsKCglyZXR1 cm4gcmV0dmFsOwp9CgovLyBQS0dfQUREOiBhdXRvbG9hZCAoInN1YnNhc2du Iiwgd2hpY2ggKCJzdWJzcmVmIikpCkRFRlVOX0RMRChzdWJzYXNnbiwgYXJn cywgbmFyZ291dCwgIiIpCnsKCW9jdGF2ZV92YWx1ZSByZXR2YWw7CgoJaWYg KGFyZ3MubGVuZ3RoKCkgIT0gMykKCXsKCQlwcmludF91c2FnZSgpOwoJCXJl dHVybiByZXR2YWw7Cgl9CgoJc3RkOjpzdHJpbmcgdHlwZTsKCXN0ZDo6bGlz dDxvY3RhdmVfdmFsdWVfbGlzdD4gaWR4OwoKCWNoZWNrX3N1YnNyZWZfZWxl bWVudHMoInN1YnNhc2duIiwgYXJncygxKSwgdHlwZSwgaWR4KTsKCWlmICgh ZXJyb3Jfc3RhdGUpCgkJcmV0dmFsID0gYXJncygwKS5zdWJzYXNnbih0eXBl LCBpZHgsIGFyZ3MoMikpOwoKCXJldHVybiByZXR2YWw7Cn0K -------boundmain47727271616 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Octave-sources mailing list [email protected] https://www.cae.wisc.edu/mailman/listinfo/octave-sources -------boundmain47727271616--