Skip to content

Commit dd26be2

Browse files
committed
fix: Add mod operator, expressions
1 parent a6e8b18 commit dd26be2

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/schema/meta/expression_tests.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@
7474
# General expressions
7575
- expression: 1 + 2
7676
result: 3
77+
- expression: 1 - 2
78+
result: -1
79+
- expression: 3 * 4
80+
result: 12
81+
- expression: 3 / 2
82+
result: 1.5
83+
- expression: 3 % 2
84+
result: 1
7785
- expression: '"cat" + "dog"'
7886
result: 'catdog'
7987
- expression: match('string', '.*')

tools/schemacode/src/bidsschematools/expressions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def parse(expression_string: str) -> "ASTNode":
6262
notOp = Literal("!")
6363
compOp = one_of(("==", "!=", "<", "<=", ">", ">=", "in"))
6464
addOp = one_of(("+", "-"))
65-
mulOp = one_of(("*", "/"))
65+
mulOp = one_of(("*", "/", "%"))
6666
expOp = Literal("**")
6767

6868
lpar, rpar = Suppress("("), Suppress(")")

0 commit comments

Comments
 (0)