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>
&nbsp;<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--