mca, mcn

5 views
Skip to first unread message

tomh

unread,
Nov 16, 2010, 7:43:57 PM11/16/10
to Exodus Users
Hi,

Any chance conversion codes "MCA", and "MCN" will be implemented. I
have written code to simulate, but its more messy than:

var a = oconv(b, "MCN")

etc.

Thanks

MCN = retrieves only the numeric characters from a given data value.
MCA = retrieves only the alphabetic characters from a given data
value.

Steve Bush

unread,
Nov 17, 2010, 3:59:51 PM11/17/10
to exodus...@googlegroups.com
ok done. also MCB which is "both" i.e returns all alphanumeric and their inverses using /

    assert(oconv("ABc.123","MCN") eq "123");
    assert(oconv("ABc.123","MCA") eq "ABc");
    assert(oconv("ABc.123","MCB") eq "ABc123");
    assert(oconv("ABc.123","MC/N") eq "ABc.");
    assert(oconv("ABc.123","MC/A") eq ".123");
    assert(oconv("ABc.123","MC/B") eq ".");

you need #include <cassert> to do assert()

and here is the proggie which checks they work in unicode too.

#include <exodus/program.h>
#include <cassert>

programinit()

function main() {

        printl("testmc says 'Hello World!'");

        var punctuation=L"\u037E";//GREEK QUESTION MARK (Punctuation)
        var lowercase=L"\u0393";//GREEK CAPITAL LETTER GAMMA (Letter) (Uppercas$
        var uppercase=L"\u03B3";//GREEK SMALL LETTER GAMMA (Letter) (Lowercase)
        var letters=lowercase^uppercase;
        var digits=L"\u0660";//ARABIC-INDIC DIGIT ZERO (decimal digit)

        assert(oconv(punctuation,"MCA") eq "");
        assert(oconv(punctuation,"MCN") eq "");
        assert(oconv(punctuation,"MCB") eq "");
        assert(oconv(punctuation,"MC/A") eq punctuation);
        assert(oconv(punctuation,"MC/N") eq punctuation);
        assert(oconv(punctuation,"MC/B") eq punctuation);

        assert(oconv(letters,"MCA") eq letters);
        assert(oconv(letters,"MCN") eq "");
        assert(oconv(letters,"MCB") eq letters);
        assert(oconv(letters,"MC/A") eq "");
        assert(oconv(letters,"MC/N") eq letters);
        assert(oconv(letters,"MC/B") eq "");

        assert(oconv(digits,"MCA") eq "");
        assert(oconv(digits,"MCN") eq digits);
        assert(oconv(digits,"MCB") eq digits);
        assert(oconv(digits,"MC/A") eq digits);
        assert(oconv(digits,"MC/N") eq "");
        assert(oconv(digits,"MC/B") eq "");

        printl("ok buddymate!");

        return 0;
}

programexit()




--
You received this message because you are subscribed to the Google Groups "Exodus Users" group.
To post to this group, send email to exodus...@googlegroups.com.
To unsubscribe from this group, send email to exodus-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/exodus-users?hl=en.


Steve Bush

unread,
Nov 17, 2010, 4:07:10 PM11/17/10
to exodus...@googlegroups.com
sorry. I didnt say it is uploaded as exodus-10.10.15.exe

On Wed, Nov 17, 2010 at 4:43 AM, tomh <tr...@hotmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages