コード例 #1
0
ファイル: t-money.c プロジェクト: kjanz1899/ren-c
//
//  CT_Money: C
//
REBINT CT_Money(const REBVAL *a, const REBVAL *b, REBINT mode)
{
    REBOOL e, g;

    if (mode >= 3) e = deci_is_same(VAL_MONEY_AMOUNT(a), VAL_MONEY_AMOUNT(b));
    else {
        e = deci_is_equal(VAL_MONEY_AMOUNT(a), VAL_MONEY_AMOUNT(b));
        if (mode < 0) {
            g = deci_is_lesser_or_equal(
                VAL_MONEY_AMOUNT(b), VAL_MONEY_AMOUNT(a)
            );
            if (mode == -1) e = LOGICAL(e || g);
            else e = LOGICAL(g && !e);
        }
    }
    return e ? 1 : 0;
}
コード例 #2
0
ファイル: t-money.c プロジェクト: fort-ascension/ren-c
//
//  CT_Money: C
//
REBINT CT_Money(REBVAL *a, REBVAL *b, REBINT mode)
{
    REBFLG e, g;

    if (mode >= 3) e = deci_is_same(VAL_MONEY_AMOUNT(a), VAL_MONEY_AMOUNT(b));
    else {
        e = deci_is_equal(VAL_MONEY_AMOUNT(a), VAL_MONEY_AMOUNT(b));
        if (mode < 0) {
            g = deci_is_lesser_or_equal(
                VAL_MONEY_AMOUNT(b), VAL_MONEY_AMOUNT(a)
            );
            if (mode == -1) e |= g;
            else e = g & !e;
        }
    }
    return e != 0;;
}