Skip to content

Commit 9c78981

Browse files
authored
add trunc support + tests (#391)
1 parent 028a5fb commit 9c78981

5 files changed

Lines changed: 33 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Features:
88

99
* Support `list` object. Does not support tosymbol/fromsymbol.
1010
* Support `[route float]` for routing floats.
11+
* Support `trunc()` in `expr/expr~`.
1112

1213

1314
0.16.2

hvcc/generators/ir2c/expr/expr_arpeggio_grammar.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ def f_name(): return [
100100
# regex(r"\bSum(?=\()"),
101101
regex(r"\btan(?=\()"),
102102
regex(r"\btanh(?=\()"),
103+
regex(r"\btrunc(?=\()"),
103104
]
104105

105106

hvcc/generators/ir2c/expr/expr_c_writer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ class ExprOpMap:
248248
# "Sum": "hv_?_f", # sum of elemnets of a specified boundary of a table
249249
"tan": "hv_tan_f",
250250
"tanh": "hv_tanh_f",
251+
"trunc": "hv_cast_fi_expr",
251252
"_load_f": "hv_var_k_f",
252253
"_load_i": "hv_var_k_i",
253254
}

tests/pd/control_expr/test-int.pd

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
1-
#N canvas 827 239 734 565 12;
2-
#X obj 40 30 loadbang;
3-
#X obj 40 165 print;
4-
#X msg 40 90 2.3;
5-
#X obj 40 55 t b b b;
6-
#X msg 163 90 5.5;
7-
#X obj 40 132 expr int($f1);
8-
#X msg 101 90 -3.1;
9-
#X connect 0 0 3 0;
10-
#X connect 2 0 5 0;
11-
#X connect 3 0 2 0;
12-
#X connect 3 1 6 0;
13-
#X connect 3 2 4 0;
14-
#X connect 4 0 5 0;
15-
#X connect 5 0 1 0;
16-
#X connect 6 0 5 0;
1+
#N canvas 827 239 273 249 12;
2+
#X obj 40 9 loadbang;
3+
#X obj 40 190 print;
4+
#X msg 40 115 2.3;
5+
#X msg 113 115 5.5;
6+
#X obj 40 157 expr int($f1);
7+
#X msg 79 115 -3.1;
8+
#X obj 40 80 t b b b b;
9+
#X obj 147 157 expr trunc($f1);
10+
#X obj 147 190 print;
11+
#X obj 40 38 bng 25 250 50 0 empty empty empty 0 -10 0 10 #191919 #ffffff #ffffff;
12+
#X connect 0 0 9 0;
13+
#X connect 2 0 4 0;
14+
#X connect 3 0 7 0;
15+
#X connect 4 0 1 0;
16+
#X connect 5 0 4 0;
17+
#X connect 6 0 2 0;
18+
#X connect 6 1 5 0;
19+
#X connect 6 2 3 0;
20+
#X connect 7 0 8 0;
21+
#X connect 9 0 6 0;

tests/pd/signal_expr/test-int.pd

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#X msg 109 161 -3.1;
1010
#X msg 76 161 2.3;
1111
#X obj 143 256 expr~ int($v1);
12+
#X obj 248 222 sig~;
13+
#X obj 248 256 expr~ trunc($v1);
14+
#X obj 248 345 print;
15+
#X obj 248 313 snapshot~;
1216
#X connect 0 0 1 0;
1317
#X connect 1 0 5 0;
1418
#X connect 3 0 9 0;
@@ -17,9 +21,12 @@
1721
#X connect 5 1 8 0;
1822
#X connect 5 2 4 0;
1923
#X connect 5 3 7 0;
20-
#X connect 5 4 4 0;
24+
#X connect 5 4 13 0;
2125
#X connect 5 5 6 0;
22-
#X connect 6 0 3 0;
26+
#X connect 6 0 10 0;
2327
#X connect 7 0 3 0;
2428
#X connect 8 0 3 0;
2529
#X connect 9 0 4 0;
30+
#X connect 10 0 11 0;
31+
#X connect 11 0 13 0;
32+
#X connect 13 0 12 0;

0 commit comments

Comments
 (0)