size_t
grn_ts_op_get_n_args(grn_ts_op_type op_type)
{ switch (op_type) { case GRN_TS_OP_LOGICAL_NOT: /* !X */ case GRN_TS_OP_BITWISE_NOT: /* ~X */ case GRN_TS_OP_POSITIVE: /* +X */ case GRN_TS_OP_NEGATIVE: /* -X */ case GRN_TS_OP_FLOAT: case GRN_TS_OP_TIME: { return1;
} case GRN_TS_OP_LOGICAL_AND: /* X && Y */ case GRN_TS_OP_LOGICAL_OR: /* X || Y */ case GRN_TS_OP_LOGICAL_SUB: /* X &! Y */ case GRN_TS_OP_BITWISE_AND: /* X & Y */ case GRN_TS_OP_BITWISE_OR: /* X | Y */ case GRN_TS_OP_BITWISE_XOR: /* X ^ Y */ case GRN_TS_OP_EQUAL: /* X == Y */ case GRN_TS_OP_NOT_EQUAL: /* X != Y */ case GRN_TS_OP_LESS: /* X < Y */ case GRN_TS_OP_LESS_EQUAL: /* X <= Y */ case GRN_TS_OP_GREATER: /* X > Y */ case GRN_TS_OP_GREATER_EQUAL: /* X >= Y */ case GRN_TS_OP_SHIFT_ARITHMETIC_LEFT: /* X << Y */ case GRN_TS_OP_SHIFT_ARITHMETIC_RIGHT: /* X >> Y */ case GRN_TS_OP_SHIFT_LOGICAL_LEFT: /* X <<< Y */ case GRN_TS_OP_SHIFT_LOGICAL_RIGHT: /* X >>> Y */ case GRN_TS_OP_PLUS: /* X + Y */ case GRN_TS_OP_MINUS: /* X - Y */ case GRN_TS_OP_MULTIPLICATION: /* X * Y */ case GRN_TS_OP_DIVISION: /* X / Y */ case GRN_TS_OP_MODULUS: /* X % Y */ case GRN_TS_OP_MATCH: /* X @ Y */ case GRN_TS_OP_PREFIX_MATCH: /* X @^ Y */ case GRN_TS_OP_SUFFIX_MATCH: { /* X @$ Y */ return2;
} default: { return0;
}
}
}
grn_ts_op_precedence
grn_ts_op_get_precedence(grn_ts_op_type op_type)
{ switch (op_type) { case GRN_TS_OP_LOGICAL_NOT: case GRN_TS_OP_BITWISE_NOT: case GRN_TS_OP_POSITIVE: case GRN_TS_OP_NEGATIVE: { return15;
} case GRN_TS_OP_FLOAT: case GRN_TS_OP_TIME: { return16;
} case GRN_TS_OP_LOGICAL_AND: { return5;
} case GRN_TS_OP_LOGICAL_OR: { return3;
} case GRN_TS_OP_LOGICAL_SUB: { return4;
} case GRN_TS_OP_BITWISE_AND: { return8;
} case GRN_TS_OP_BITWISE_OR: { return6;
} case GRN_TS_OP_BITWISE_XOR: { return7;
} case GRN_TS_OP_EQUAL: case GRN_TS_OP_NOT_EQUAL: { return9;
} case GRN_TS_OP_LESS: case GRN_TS_OP_LESS_EQUAL: case GRN_TS_OP_GREATER: case GRN_TS_OP_GREATER_EQUAL: { return10;
} case GRN_TS_OP_SHIFT_ARITHMETIC_LEFT: case GRN_TS_OP_SHIFT_ARITHMETIC_RIGHT: case GRN_TS_OP_SHIFT_LOGICAL_LEFT: case GRN_TS_OP_SHIFT_LOGICAL_RIGHT: { return11;
} case GRN_TS_OP_PLUS: case GRN_TS_OP_MINUS: { return12;
} case GRN_TS_OP_MULTIPLICATION: case GRN_TS_OP_DIVISION: case GRN_TS_OP_MODULUS: { return13;
} case GRN_TS_OP_MATCH: case GRN_TS_OP_PREFIX_MATCH: case GRN_TS_OP_SUFFIX_MATCH: { return14;
} default: { return0;
}
}
}
Messung V0.5 in Prozent
[zur Elbe Produktseite wechseln0.10QuellennavigatorsAnalyse erneut starten2026-10-08]