[BACK]Return to result.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Annotation of OpenXM_contrib2/asir2000/builtin/result.c, Revision 1.1

1.1     ! noro        1: /* $OpenXM: OpenXM/src/asir99/builtin/result.c,v 1.1.1.1 1999/11/10 08:12:26 noro Exp $ */
        !             2: #include "ca.h"
        !             3: #include "parse.h"
        !             4:
        !             5: void Presult(), Psrcr();
        !             6:
        !             7: struct ftab result_tab[] = {
        !             8:        {"res",Presult,-4},
        !             9:        {"srcr",Psrcr,3},
        !            10:        {0,0,0},
        !            11: };
        !            12:
        !            13: void Presult(arg,rp)
        !            14: NODE arg;
        !            15: P *rp;
        !            16: {
        !            17:        int mod;
        !            18:        P p1,p2,r;
        !            19:
        !            20:        asir_assert(ARG0(arg),O_P,"res");
        !            21:        asir_assert(ARG1(arg),O_P,"res");
        !            22:        asir_assert(ARG2(arg),O_P,"res");
        !            23:        if ( argc(arg) == 3 )
        !            24:                resultp(CO,VR((P)ARG0(arg)),(P)ARG1(arg),(P)ARG2(arg),rp);
        !            25:        else {
        !            26:                mod = QTOS((Q)ARG3(arg));
        !            27:                ptomp(mod,(P)ARG1(arg),&p1); ptomp(mod,(P)ARG2(arg),&p2);
        !            28:                resultmp(CO,mod,VR((P)ARG0(arg)),p1,p2,&r);
        !            29:                mptop(r,rp);
        !            30:        }
        !            31: }
        !            32:
        !            33: void Psrcr(arg,rp)
        !            34: NODE arg;
        !            35: P *rp;
        !            36: {
        !            37:        asir_assert(ARG0(arg),O_P,"srcr");
        !            38:        asir_assert(ARG1(arg),O_P,"srcr");
        !            39:        asir_assert(ARG2(arg),O_P,"srcr");
        !            40:        res_ch_det(CO,VR((P)ARG0(arg)),(P)ARG1(arg),(P)ARG2(arg),rp);
        !            41: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>