From octave-sources-request at bevo dot che dot wisc dot edu Tue Sep 10 16:14:16 2002 Subject: =?iso-8859-1?Q?rlocus.m_bug_fixes?= From: "=?utf-8?Q?otiesse at libero dot it?=" To: octave-sources at bevo dot che dot wisc dot edu Date: Tue, 10 Sep 2002 23:08:02 +0200 --_=__=_XaM3_Boundary.1031692082.2A.125772.42.3413.52.42.101010.30469 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: base64 SGVsbG8gZXZlcnlib2R5IQ0KDQpJJ20gYSBuZXdiaWUgaGVyZSwgYW5kIEkgd291bGQgbGlr ZSB0byBnaXZlIE9jdGF2ZSB0aGlzIHZlcnkgbGl0dGxlDQpjb250cmlidXRpb24gb2YgbWlu ZS4NCg0KSSBoYXZlIGZpeGVkIGFuIGFubm95aW5nIGJ1ZyBpbiB0aGUgcmxvY3VzKCkgZnVu Y3Rpb24gdGhhdCBkaWQgbm90DQp3b3JrIHByb3Blcmx5IHdoZW4gY2FsbGVkIHdpdGggb3V0 cHV0IGFyZ3VtZW50LCBzaW5jZSB0aGUgZGF0YSBvdXRwdXQgdmVjdG9yIHdhcyBkZWZpbmVk IGluIGFuICJpZiBuYXJnb3V0PT0wIiBzdGF0ZW1lbnQuDQoNCkZ1cnRoZXJtb3JlLCBJIHdy b3RlIGEgc2ltcGxlIGNoZWNrIG9uIHRoZSBicmVha3BvaW50cyB2ZWN0b3Igb2YgdGhlDQpy b290IGxvY3VzLCBzbyB0aGUgY29tcHV0ZWQgcG9pbnRzIHRoYXQgZG9uJ3QgYmVsb25nIHRv IHRoZSBsb2N1cyBhcmUgbm93IGxlZnQgb3V0Lg0KDQpMYXN0bHksIEkgZm91bmQgdXNlZnVs IHJlLWFycmFuZ2luZyB0aGUgb3V0cHV0cyBpbiBhIGRpZmZlcmVudCB3YXksDQpnaXZpbmcg dGhlIGNhbGN1bGF0ZWQgZGF0YSBwb2ludHMgaW4gYSBjb21wbGV4IG1hdHJpeCwgYW5kIHNs aWdodGx5DQpjaGFuZ2luZyB0aGUgbG9vayBvZiB0aGUgb3V0cHV0IHBsb3QuDQoNClRoYW5r IHlvdSBhbGwuDQoNCk9yYXppbyBUYWdsaWFsYXRlbGEgU2NhZmF0aQ0K --_=__=_XaM3_Boundary.1031692082.2A.125772.42.3413.52.42.101010.30469 Content-Type: application/octet-stream; name="rlocus.m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename"rlocus.m" IyMgW3JscG9sLCBndmVjLCByZWFsX2F4X3B0cywga19icmVha10gPSBybG9jdXMoc3lzWyxp bmNyZW1lbnQsbWluX2ssbWF4X2tdKQojIyBEaXNwbGF5cyByb290IGxvY3VzIHBsb3Qgb2Yg dGhlIHNwZWNpZmllZCBTSVNPIHN5c3RlbS4KIyMKIyMgICAgICAgIC0tLS0tICAgLS0tICAg ICAtLS0tLS0tLQojIyAgICAtLS0+fCArIHwtLS18a3wtLS0tPnwgU0lTTyB8LS0tLS0tLS0t LS0+CiMjICAgICAgICAtLS0tLSAgIC0tLSAgICAgLS0tLS0tLS0gICAgICAgIHwKIyMgICAg ICAgIC0gXiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAojIyAgICAgICAgICB8X19f X19fX19fX19fX19fX19fX19fX19fX19fX198CiMjCiMjIGlucHV0czogc3lzID0gc3lzdGVt IGRhdGEgc3RydWN0dXJlCiMjIG1pbl9rLCBtYXhfayxpbmNyZW1lbnQ6IG1pbmltdW0sIG1h eGltdW0gdmFsdWVzIG9mIGsgYW5kCiMjIHRoZSBpbmNyZW1lbnQgdXNlZCBpbiBjb21wdXRp bmcgZ2FpbiB2YWx1ZXMKIyMgT3V0cHV0czogcGxvdHMgdGhlIHJvb3QgbG9jdXMgdG8gdGhl IHNjcmVlbi4KIyMgcmxwb2w6IGNsb3NlZC1sb29wIHBvbGVzIG1hdHJpeCAoZ2VuZXJpYyBl bGVtZW50OiBpLXRoIHBvbGUsIGotdGggdmFsdWUgb2YgZ2FpbikKIyMgZ3ZlYzogZ2FpbiB2 ZWN0b3IKIyMgcmVhbF9heF9wdHM6IHJlYWwgYXhpcyBicmVha3BvaW50cwojIyBrX2JyZWFr OiBnYWluIHZlY3RvciBmb3IgdGhlIGxvY3VzIGJyZWFrcG9pbnRzCgpmdW5jdGlvbiBbcmxw b2wsIGd2ZWMsIHJlYWxfYXhfcHRzLCBrX2JyZWFrXSA9IHJsb2N1cyAoc3lzLCBpbmNyZW1l bnQsIG1pbl9rLCBtYXhfaykKCiAgaWYgKG5hcmdpbiA8IDEpIHwgKG5hcmdpbiA+IDQpCiAg ICB1c2FnZSgicmxvY3VzKHN5c1ssaW5jLG1pbmssbWF4a10pIik7CiAgZW5kaWYKCiAgIyMg Q29udmVydCB0aGUgaW5wdXQgdG8gYSB0cmFuc2ZlciBmdW5jdGlvbiBpZiBuZWNlc3NhcnkK CiAgW251bSxkZW5dID0gc3lzMnRmKHN5cyk7ICAgICAgICAgICAgICAgIyBleHRyYWN0IG51 bWVyYXRvci9kZW5vbSBwb2x5b21pYWxzCiAgbG51bSA9IGxlbmd0aChudW0pOyAgICAgIGxk ZW4gPSBsZW5ndGgoZGVuKTsKICBpZihsZGVuIDwgMikKICAgIGVycm9yKHNwcmludGYoImxl bmd0aCBvZiBkZXJpdmF0aXZlPSVkLCBkb2Vzbid0IG1ha2Ugc2Vuc2UiLGxkZW4pKTsKICBl bHNlaWYobG51bSA9PSAxKQogICAgbnVtID0gWzAsIG51bV07ICAgICAjIHNvIHRoYXQgZGVy aXZhdGl2ZSBpcyBzaG9ydGVuZWQgYnkgb25lCiAgZW5kaWYKCiAgIyMgcm9vdCBsb2N1cyBw bG90IGF4aXMgbGltaXRzCgogICMjIGNvbXB1dGUgcmVhbCBheGlzIGxvY3VzIGJyZWFrcG9p bnRzCiAgIyMgY29tcHV0ZSB0aGUgZGVyaXZhdGl2ZSBvZiB0aGUgbnVtZXJhdG9yIGFuZCB0 aGUgZGVub21pbmF0b3IKICBkZXJuPXBvbHlkZXJpdihudW0pOyAgICAgICAgZGVyZD1wb2x5 ZGVyaXYoZGVuKTsKCiAgIyMgY29tcHV0ZSByZWFsIGF4aXMgYnJlYWtwb2ludHMKICByZWFs X2F4X3BvbCA9IGNvbnYoZGVuLGRlcm4pIC0gY29udihudW0sZGVyZCk7CiAgcmVhbF9heF9w dHMgPSByb290cyhyZWFsX2F4X3BvbCk7CgkKICBpZihpc2VtcHR5KHJlYWxfYXhfcHRzKSkK ICAgIGtfYnJlYWsgPSBbXTsKICAgIG1heGsgPSAwOwogIGVsc2UKICAgICMjIGNvbXB1dGUg Z2FpbnMgdGhhdCBhY2hpZXZlIHRoZSBicmVha3BvaW50cwogICAgYzEgPSBwb2x5dmFsKG51 bSxyZWFsX2F4X3B0cyk7CiAgICBjMiA9IHBvbHl2YWwoZGVuLHJlYWxfYXhfcHRzKTsKICAg IGtfYnJlYWsgPSAtcmVhbChjMiAuLyBjMSkKCQlyZWFsX2F4X3B0czE9W107CgkJa19icmVh azE9W107CgkJRVBTPTFlLTE1OyAgI3plcm8gdG9sZXJhbmNlCgkJZm9yIGlpPTE6bGVuZ3Ro KGtfYnJlYWspCgkJCXMwPXJlYWxfYXhfcHRzKGlpKTsKCQkJa2I9a19icmVhayhpaSk7CgkJ CWlmIGFicyhwb2x5dmFsKGRlbixzMCkra2IqcG9seXZhbChudW0sczApKTxFUFMKCQkJCXJl YWxfYXhfcHRzMShsZW5ndGgocmVhbF9heF9wdHMxKSsxOjEpPXMwOwoJCQkJa19icmVhazEo bGVuZ3RoKGtfYnJlYWsxKSsxOjEpPWtiOwoJCQllbmRpZgoJCWVuZGZvcgoJCXJlYWxfYXhf cHRzPXJlYWxfYXhfcHRzMTsKCQlrX2JyZWFrPWtfYnJlYWsxOwoJCWlmKGlzZW1wdHkocmVh bF9heF9wdHMpKSBrYnJlYWs9W107IG1heGs9MDsKCQllbHNlIG1heGsgPSBtYXgobWF4KGtf YnJlYWssMCkpOyBlbmRpZgogIGVuZGlmCgogICMjIGNvbXB1dGUgZ2FpbiByYW5nZXMgYmFz ZWQgb24gY29tcHV0ZWQgSyB2YWx1ZXMKICBpZihtYXhrID09IDApICAgICBtYXhrID0gMTsK ICBlbHNlICAgICAgICAgICAgICBtYXhrID0gMS4xKm1heGs7ICAgICAgICBlbmRpZgogIG1p bmsgPSAwOwogIG5nYWluID0gMjA7CgogICMjIGNoZWNrIGZvciBpbnB1dCBhcmd1bWVudHM6 CiAgaWYgKG5hcmdpbiA+IDIpICAgICAgIG1pbmsgPSBtaW5fazsgICAgICAgICAgZW5kaWYK ICBpZiAobmFyZ2luID4gMykgICAgICAgbWF4ayA9IG1heF9rOyAgICAgICAgICBlbmRpZgog IGlmIChuYXJnaW4gPiAxKQogICAgaWYoaW5jcmVtZW50IDw9IDApICBlcnJvcigiaW5jcmVt ZW50IG11c3QgYmUgcG9zaXRpdmUiKTsKICAgIGVsc2UKICAgICAgbmdhaW4gPSAobWF4ay1t aW5rKS9pbmNyZW1lbnQ7CiAgICBlbmRpZgogIGVuZGlmCgogICMjIHZlY3RvciBvZiBnYWlu cwogIG5nYWluID0gbWF4KDMsbmdhaW4pOwogIGd2ZWMgPSBsaW5zcGFjZShtaW5rLG1heGss bmdhaW4pOwoKICAjIyBGaW5kIHRoZSBvcGVuIGxvb3AgemVyb3MgYW5kIHRoZSBpbml0aWFs IHBvbGVzCiAgcmx6ZXIgPSByb290cyhudW0pOwoKICAjIyB1cGRhdGUgbnVtIHRvIGJlIHRo ZSBzYW1lIGxlbmd0aCBhcyBkZW4KICBsbnVtID0gbGVuZ3RoKG51bSk7ICBpZihsbnVtIDwg bGRlbikgbnVtID0gW3plcm9zKDEsbGRlbiAtIGxudW0pLG51bV07ICBlbmRpZgoKICAjIyBj b21wdXRlIHByZWxpbWluYXJ5IHBvbGUgc2V0cwogIG5yb290cyA9IGxkZW4tMTsKICBmb3Ig aWk9MTpuZ2FpbgogICBnYWluID0gZ3ZlYyhpaSk7CiAgIHJscG9sKDE6bnJvb3RzLGlpKSAg PSB2ZWMoc29ydGNvbShyb290cyhkZW4gKyBnYWluKm51bSkpKTsKICBlbmRmb3IKCiAgIyMg Y29tcHV0ZSBheGlzIGxpbWl0cyAoaXNvbGF0ZSBhc3ltcHRvdGVzKQogIG9scG9sID0gcm9v dHMoZGVuKTsKICByZWFsX2F4ZGF0ID0gdW5pb24ocmVhbChybHplciksIHJlYWwodW5pb24o b2xwb2wscmVhbF9heF9wdHMpKSApOwogIHJtaW4gPSBtaW4ocmVhbF9heGRhdCk7ICAgICAg cm1heCA9IG1heChyZWFsX2F4ZGF0KTsKCiAgcmxwb2x2ID0gW3ZlYyhybHBvbCk7IHZlYyhy ZWFsX2F4ZGF0KV07CiAgaWR4ID0gZmluZChyZWFsKHJscG9sdikgPj0gcm1pbiAmIHJlYWwo cmxwb2x2KSA8PSBybWF4KTsKICBheGxpbSA9IGF4aXMyZGxpbShbcmVhbChybHBvbHYoaWR4 KSksaW1hZyhybHBvbHYoaWR4KSldKTsKICB4bWluID0gYXhsaW0oMSk7CiAgeG1heCA9IGF4 bGltKDIpOwoKICAjIyBzZXQgc21vb3RoaW5nIHRvbGVyYW5jZSBwZXIgYXhpcyBsaW1pdHMK ICBzbXRvbCA9IDAuMDEqbWF4KGFicyhheGxpbSkpOwoKICAjIyBzbW9vdGggcG9sZXMgaWYg bmVjZXNzYXJ5LCB1cCB0byBtYXhpbXVtIG9mIDEwMDAgZ2FpbiBwb2ludHMKICAjIyBvbmx5 IHNtb290aCBwb2ludHMgd2l0aGluIHRoZSBheGlzIGxpbWl0IHdpbmRvdwogICMjIHNtb290 aGluZyBkb25lIGlmIG1heF9rIG5vdCBzcGVjaWZpZWQgYXMgYSBjb21tYW5kIGFyZ3VtZW50 CiAgZG9uZT0obmFyZ2luID09IDQpOyAgICAjIHBlcmZvcm0gYSBzbW9vdGhuZXNzIGNoZWNr CiAgd2hpbGUoKCFkb25lKSAmIG5nYWluIDwgMTAwMCkKICAgIGRvbmUgPSAxIDsgICAgICAj IGFzc3VtZSBkb25lCiAgICBkcCA9IGFicyhkaWZmKHJscG9sJykpJzsKICAgIG1heGQgPSBt YXgoZHApOwogICAgIyMgc2VhcmNoIGZvciBwb2xlcyBpbiB0aGUgcmVhbCBheGlzIGxpbWl0 cyB3aG9zZSBuZWlnaGJvcnMgYXJlIGRpc3RhbnQKICAgIGlkeCA9IGZpbmQobWF4ZCA+IHNt dG9sKTsKICAgIGZvciBpaT0xOmxlbmd0aChpZHgpCiAgICAgIGkxID0gaWR4KGlpKTsgICAg ICBnMSA9IGd2ZWMoaTEpOyAgICAgICBwMSA9IHJscG9sKDosaTEpOwogICAgICBpMiA9IGlk eChpaSkrMTsgICAgZzIgPSBndmVjKGkyKTsgICAgICAgcDIgPSBybHBvbCg6LGkyKTsKCiAg ICAgICMjIGlzb2xhdGUgcG9sZXMgaW4gcDEsIHAyIHRoYXQgYXJlIGluc2lkZSB0aGUgcmVh bCBheGlzIGxpbWl0cwogICAgICBiaWR4ID0gZmluZCggKHJlYWwocDEpID49IHhtaW4gJiBy ZWFsKHAxKSA8PSB4bWF4KSAgLi4uCiAgICAgICAgICB8IChyZWFsKHAyKSA+PSB4bWluICYg cmVhbChwMikgPD0geG1heCkgKTsKICAgICAgaWYoIWlzZW1wdHkoYmlkeCkpCiAgICAgICAg cDEgPSBwMShiaWR4KTsKICAgICAgICBwMiA9IHAyKGJpZHgpOwogICAgICAgIGlmKCBtYXgo YWJzKHAyLXAxKSkgPiBzbXRvbCkKICAgICAgICAgIG5ld2cgPSBsaW5zcGFjZShnMSxnMiw1 KTsKICAgICAgICAgIG5ld2cgPSBuZXdnKDI6NCk7CiAgICAgICAgICBpZihpc2VtcHR5KG5l d2cpKQogICAgICAgICAgICBwcmludGYoInJsb2N1czogZW1wdHkgbmV3ZyIpCiAgICAgICAg ICAgIGcxCiAgICAgICAgICAgIGcyCiAgICAgICAgICAgIGkxCiAgICAgICAgICAgIGkyCiAg ICAgICAgICAgIGlkeF9pMSA9IGlkeChpaSkKICAgICAgICAgICAgZ3ZlY19pMSA9IGd2ZWMo aTE6aTIpCiAgICAgICAgICAgIGRlbHRhX3ZlY19pMSA9IGRpZmYoZ3ZlYyhpMTppMikpCiAg ICAgICAgICAgIHByb21wdAogICAgICAgICAgZW5kaWYKICAgICAgICAgIGd2ZWMgPSAgW2d2 ZWMsbmV3Z107CiAgICAgICAgICBkb25lID0gMDsgICAgICAgICAgICAgIyBuZWVkIHRvIHBy b2Nlc3MgbmV3IGdhaW5zCiAgICAgICAgZW5kaWYKICAgICAgZW5kaWYKICAgIGVuZGZvcgoK ICAgICMjIHByb2Nlc3MgbmV3IGdhaW4gdmFsdWVzCiAgICBuZ2FpbjEgPSBsZW5ndGgoZ3Zl Yyk7CiAgICBmb3IgaWk9KG5nYWluKzEpOm5nYWluMQogICAgICBnYWluID0gZ3ZlYyhpaSk7 CiAgICAgIHJscG9sKDE6bnJvb3RzLGlpKSAgPSB2ZWMoc29ydGNvbShyb290cyhkZW4gKyBn YWluKm51bSkpKTsKICAgIGVuZGZvcgoKICAgIFtndmVjLGlkeF0gPSBzb3J0KGd2ZWMpOwog ICAgcmxwb2wgPSBybHBvbCg6LGlkeCk7CiAgICBuZ2FpbiA9IGxlbmd0aChndmVjKTsKICBl bmR3aGlsZQoKICAjIyBQbG90IHRoZSBkYXRhCiAgaWYobmFyZ291dCAgPT0gMCkKICAgIHJs cG9sdiA9IHZlYyhybHBvbCk7CiAgICBpZHggPSBmaW5kKHJlYWwocmxwb2x2KSA+PSB4bWlu ICYgcmVhbChybHBvbHYpIDw9IHhtYXgpOwogICAgYXhkYXRhID0gW3JlYWwocmxwb2x2KGlk eCkpLGltYWcocmxwb2x2KGlkeCkpXTsKICAgIGF4bGltID0gYXhpczJkbGltKGF4ZGF0YSk7 CiAgICBheGxpbSgxOjIpID0gW3htaW4sIHhtYXhdOwogICAgZ3NldCBub2xvZ3NjYWxlIHh5 OwogICAgZ3JpZCgib2ZmIik7CiAgICBheGlzKGF4bGltKTsKICAgIFtzdG4saW5uYW1lLG91 dG5hbWVdID0gc3lzZ2V0c2lnbmFscyhzeXMpOwogICAgeGxhYmVsKHNwcmludGYoIlJvb3Qg bG9jdXMgZnJvbSAlcyB0byAlcywgZ2Fpbj1bJWYsJWZdOiBSZWFsIGF4aXMiLCAuLi4KICAg ICAgICBudGgoaW5uYW1lLDEpLG50aChvdXRuYW1lLDEpLGd2ZWMoMSksZ3ZlYyhuZ2Fpbikp KTsKICAgIHlsYWJlbCgiSW1hZy4gYXhpcyIpOwoKICAgIHBsb3QocmVhbChybHBvbHYpLGlt YWcocmxwb2x2KSwiLjE7bG9jdXMgcG9pbnRzOyIsIC4uLgogICAgICAgIHJlYWwob2xwb2wp LGltYWcob2xwb2wpLCJ4MDtvcGVuIGxvb3AgcG9sZXM7IiwgLi4uCiAgICAgICAgcmVhbChy bHplciksaW1hZyhybHplciksIm8zO3plcm9zOyIpOwogIGVuZGlmCmVuZGZ1bmN0aW9uCg== --_=__=_XaM3_Boundary.1031692082.2A.125772.42.3413.52.42.101010.30469--