From octave-sources-request at bevo dot che dot wisc dot edu Fri Jul 7 12:30:38 2000 Subject: dec2base.m base2dec.m dec2hex.m hex2dec.m From: Daniel Calvelo To: octave-sources at bevo dot che dot wisc dot edu Date: Fri, 7 Jul 2000 18:16:17 +0200 (CET) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime at docserver dot cac dot washington dot edu for more info. --868297866-1780998928-962986463=:4039 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: For those who may need them. Not thoroughly tested (especially for compatibility with Matlab :). base2dec may have troubles with large input. No doc for *hex*. Bonus: you may specify the digit/symbol-set to be used. Enjoy. (At least I enjoyed writing them :) -- Daniel Calvelo Aros calvelo at lifl dot fr --868297866-1780998928-962986463=:4039 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="hex2dec.m" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="hex2dec.m" ZnVuY3Rpb24gZD1oZXgyZGVjKGgpDQogIGQgPSBiYXNlMmRlYyggaCwgMTYg KTsNCmVuZGZ1bmN0aW9u --868297866-1780998928-962986463=:4039 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="dec2hex.m" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="dec2hex.m" ZnVuY3Rpb24gaD1kZWMyaGV4KGQpDQogIGggPSB0b3VwcGVyKGRlYzJiYXNl KCBkLCAxNiApKTsNCmVuZGZ1bmN0aW9u --868297866-1780998928-962986463=:4039 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="dec2base.m" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="dec2base.m" ZnVuY3Rpb24gYj1kZWMyYmFzZShkLGJhc2Usc3ltYm9scyksDQogICMjIFMg PSBkZWMyYmFzZSggRCwgYiBbLHNkXSkgICBjb252ZXJ0IGludGVnZXIgRCB0 byBhIHN0cmluZw0KICAjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVwcmVzZW50aW5nIGl0IGluIGJhc2UgYi4gDQogICMjIElmIFMgaXMgYSB2 ZWN0b3IsIGVhY2ggZWxlbWVudCBpcyBjb252ZXJ0ZWQsIGdpdmluZyBhIHJv dw0KICAjIyBpbnRvIGEgc3RyaW5nIG1hdHJpeC4NCiAgIyMgSWYgc2QgaXMg c3BlY2lmaWVkLCB0aGUgY2hhcmFjdGVycyBmcm9tIHNkIGFyZSB1c2VkIGFz IHRoZSANCiAgIyMgY2hhcmFjdGVycyByZXByZXNlbnRpbmcgdGhlIGRpZ2l0 cy9zeW1ib2xzIG9mIFMsIGUuZy46DQogICMjICAgICAgICAgIGRlYzJiYXNl KDEyMywzKQ0KICAjIyAgICAgICAgICAgICAgIC0+IDExMTIwDQogICMjICAg ICAgICAgIGRlYzJiYXNlKDEyMywzLCdhZWknKQ0KICAjIyAgICAgICAgICAg ICAgIC0+IGVlZWlhDQogICMjDQogICMjIERDQTIwMDA7IHVzZSBtb2RpZnkg ZGVidWcgZG9jdW1lbnQgYW5kIHRocm93IGF3YXkgYXQgd2lsbC4NCg0KICBp ZiBhbnkoZDwwKSwNCiAgICBlcnJvcigiQ2FuIG9ubHkgY29udmVydCBwb3Np dGl2ZSBpbnRlZ2Vycy4iKQ0KICBlbmRpZg0KDQogIGlmIHByb2Qoc2l6ZShk KSl+PWxlbmd0aChkKSwNCiAgICBlcnJvcigiQ2Fubm90IGNvbnZlcnQgbWF0 cmljZXMuIERlY29tcG9zZSBpbnRvIHZlY3RvcnMgYW5kIHRyeSBhZ2Fpbi4i KTsNCiAgZW5kaWYNCg0KICBpZiBuYXJnaW48MiwNCiAgICB3YXJuaW5nKCJO byBiYXNlIGdpdmVuOyBhc3N1bWluZyBiaW5hcnkuIik7DQogICAgYmFzZT0y Ow0KICBlbmRpZg0KICANCiAgaWYgfmlzX3NjYWxhciggYmFzZSApLA0KICAg IGVycm9yKCJDYW5ub3QgY29udmVydCB0byBzZXZlcmFsIGJhc2VzIGF0IG9u Y2UuIFVzZSBhIHNjYWxhci4iKTsNCiAgZW5kaWYNCg0KICBpZiBuYXJnaW48 MywNCiAgICBzeW1ib2xzPScwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFS U1RVVldYWVonOw0KICBlbHNlDQogICAgaWYgYW55KGRpZmYoc29ydChzeW1i b2xzKSk9PTApLA0KICAgICAgd2FybmluZygiSWYgeW91IHByb3ZpZGUgeW91 ciBvd24gc3ltYm9scywgcHJlZmVyICpkaWZmZXJlbnQqIFwNCiBzeW1ib2xz LiIpOw0KICAgIGVuZGlmDQogIGVuZGlmDQoNCiAgaWYgYmFzZTwyIHwgYmFz ZT5sZW5ndGgoc3ltYm9scyksDQogICAgZXJyb3IoIkNhbm5vdCBjb252ZXJ0 IHRvIGJhc2UgJWQgKG9ubHkgMiB0aHJvdWdoICVkKS4gXA0KUHJvdmlkZSB0 aGUgc3ltYm9scyB0byBiZSB1c2VkIGlmIHlvdSAqcmVhbGx5KiB3YW50IHRo aXMuIiwgYmFzZSwgbGVuZ3RoKHN5bWJvbHMpKTsNCiAgZW5kaWYNCiAgDQog IGlzdG5vID0gaW1wbGljaXRfc3RyX3RvX251bV9vazsNCiAgZWxlbyA9IGVt cHR5X2xpc3RfZWxlbWVudHNfb2s7DQogIGltcGxpY2l0X3N0cl90b19udW1f b2s9MTsNCiAgZW1wdHlfbGlzdF9lbGVtZW50c19vaz0xOw0KDQogIGQ9ZCg6 KTsNCiAgZj1maW5kKGQ+MCk7DQogIGlmIH5pc2VtcHR5KGYpLA0KICAgIG1h eExlbiA9IGZsb29yKGxvZyhtYXgoZChmKSkpLi9sb2coYmFzZSkpKzE7DQog IGVsc2UNCiAgICBtYXhMZW4gPSAxOw0KICBlbmRpZg0KICBvdXQgPSBbXTsN CiAgIyMgU3RyYWlnaHRmb3J3YXJkIGFsZ29yaWh0bTsgZmFzdGVyIG9uZXMg YXJlIHdlbGNvbWUNCiAgZm9yIHJvdz0xOmxlbmd0aChkKSwNCiAgICBzID0g ZChyb3cpOw0KICAgIG91dHJvdz1bXTsNCiAgICB3aGlsZSBzID49IGJhc2Us DQogICAgICByID0gcmVtKCBzLCBiYXNlICk7DQogICAgICBzID0gZml4KCBz IC8gYmFzZSApOw0KICAgICAgb3V0cm93ID0gWyBzeW1ib2xzKHIrMSkgb3V0 cm93IF07DQogICAgZW5kd2hpbGUNCiAgICBvdXRyb3cgPSBbc3ltYm9scyhz KzEpIG91dHJvd107DQoNCiAgICB3aGlsZSBsZW5ndGgob3V0cm93KTxtYXhM ZW4sDQogICAgICBvdXRyb3cgPSBbJzAnIG91dHJvd107DQogICAgZW5kd2hp bGUNCiAgICBvdXQgPSBbb3V0O291dHJvd107DQogIGVuZGZvcg0KICBpbXBs aWNpdF9zdHJfdG9fbnVtX29rID0gaXN0bm87DQogIGVtcHR5X2xpc3RfZWxl bWVudHNfb2sgPSBlbGVvOw0KICBiPXRvbG93ZXIob3V0KTsNCmVuZGZ1bmN0 aW9uDQo= --868297866-1780998928-962986463=:4039 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="base2dec.m" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="base2dec.m" ZnVuY3Rpb24gb3V0PWJhc2UyZGVjKGQsYmFzZSxzeW1ib2xzKSwNCiAgIyMg RCA9IGJhc2UyZGVjKCBTLCBiIFssc2RdKSAgIGNvbnZlcnQgUyBmcm9tIHN0 cmluZyBvZiAnZGlnaXRzJw0KICAjIyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb2YgYmFzZSBiIGludG8gYmFzZS0xMCBpbnRlZ2VyLiANCiAgIyMg SWYgUyBpcyBhIG1hdHJpeCwgZWFjaCByb3cgaXMgY29udmVydGVkLg0KICAj IyBJZiBzZCBpcyBzcGVjaWZpZWQsIHRoZSBjaGFyYWN0ZXJzIGZyb20gc2Qg YXJlIHVzZWQgYXMgdGhlIA0KICAjIyBjaGFyYWN0ZXJzIHJlcHJlc2VudGlu ZyB0aGUgZGlnaXRzIG9mIFMuIFRodXM6DQogICMjICAgIGJhc2UyZGVjKCcx MTEyMCcsMykNCiAgIyMgICAgICAgICAgLT4gMTIzDQogICMjICAgIGJhc2Uy ZGVjKCd5eXl6eCcsMywneHl6JykNCiAgIyMgICAgICAgICAgLT4gMTIzDQog ICMjDQogICMjIERDQTIwMDA7IHVzZSBtb2RpZnkgZGVidWcgZG9jdW1lbnQg YW5kIHRocm93IGF3YXkgYXQgd2lsbC4NCg0KICBpZiBuYXJnaW48MiwNCiAg ICB3YXJuaW5nKCJObyBiYXNlIGdpdmVuOyBhc3N1bWluZyBiaW5hcnkuIik7 DQogICAgYmFzZT0yOw0KICBlbmRpZg0KICANCiAgaWYgfmlzX3NjYWxhcigg YmFzZSApLA0KICAgIGVycm9yKCJDYW5ub3QgY29udmVydCBmcm9tIHNldmVy YWwgYmFzZXMgYXQgb25jZS4gVXNlIGEgc2NhbGFyLiIpOw0KICBlbmRpZg0K DQogIGlmIG5hcmdpbjwzLA0KICAgIHN5bWJvbHM9dG9sb3dlcignMDEyMzQ1 Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7DQogIGVsc2UNCiAg ICBpZiBhbnkoZGlmZihzb3J0KHN5bWJvbHMpKT09MCksDQogICAgICBlcnJv cigiSWYgeW91IHByb3ZpZGUgeW91ciBvd24gc3ltYm9scywgZW5zdXJlICpk aWZmZXJlbnQqIFwNCiBzeW1ib2xzLiIpOw0KICAgIGVuZGlmDQogIGVuZGlm DQoNCiAgaWYgYmFzZTwyIHwgYmFzZT5sZW5ndGgoc3ltYm9scyksDQogICAg ZXJyb3IoIkNhbm5vdCBjb252ZXJ0IGZyb20gYmFzZSAlZCAob25seSAyIHRo cm91Z2ggJWQpLiBcDQpQcm92aWRlIHRoZSBzeW1ib2xzIHRvIGJlIHVzZWQg aWYgeW91ICpyZWFsbHkqIHdhbnQgdGhpcy4iLCBiYXNlLCBsZW5ndGgoc3lt Ym9scykpOw0KICBlbHNlDQogICAgc3ltYm9scyA9IHN5bWJvbHMoMTpiYXNl KTsNCiAgZW5kaWYNCiAgDQogIGlzdG5vID0gaW1wbGljaXRfc3RyX3RvX251 bV9vazsNCiAgaW1wbGljaXRfc3RyX3RvX251bV9vaz0xOw0KDQogIG91dCA9 IHplcm9zKHNpemUoZCwxKSwxKTsNCiAgYyA9IG9uZXMoc2l6ZShkLDEpLDEp Ow0KICByID0gb25lcygxLGxlbmd0aChzeW1ib2xzKSk7DQogIGQgPSB0b2xv d2VyKGQpOw0KICAjIyBTdHJhaWdodGZvcndhcmQgYWxnb3JpdGhtOyBmYXN0 ZXIgb25lcyBhcmUgd2VsY29tZQ0KICBmb3IgY29sPTE6c2l6ZShkLDIpLA0K ICAgIHMgPSBkKDosY29sKTsNCiAgICB0MSA9ICggcypyID09IGMqc3ltYm9s cyApOyAjIERvIHN5bWJvbHMgY29pbmNpZGU/DQogICAgdDIgPSB0MS4qIChj KlswOmJhc2UtMV0pOyAgIyBXaGF0IGlzIHRoZWlyIHJhbms/DQogICAgdDMg PSBzdW0oKCB0MiApJyknIDsgIyBTbyB3aGF0IGFyZSB0aGV5IGVxdWl2YWxl bnQgdG8/DQogICAgaWYgYW55KHQzPT0wKSwNCiAgICAgIGYgPSBmaW5kKHQz PT0wKTsNCiAgICAgIGVycm9yKCJUaGlzIGlzIG5vdCBhIGJhc2UtJWQgbnVt YmVyOiAlcyIsIGJhc2UsIGQoZiw6KSk7DQogICAgZW5kaWYNCiAgICBvdXQ9 b3V0KmJhc2UgKyB0MzsNCiAgZW5kZm9yDQogIGltcGxpY2l0X3N0cl90b19u dW1fb2sgPSBpc3RubzsNCmVuZGZ1bmN0aW9uDQo= --868297866-1780998928-962986463=:4039-- ----------------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.che.wisc.edu/octave/octave.html How to fund new projects: http://www.che.wisc.edu/octave/funding.html Subscription information: http://www.che.wisc.edu/octave/archive.html -----------------------------------------------------------------------