Skip to content

Commit 499a93e

Browse files
committed
FEAT: added support for decimap pick on pair! and any-string!
related to: Oldes/Rebol-issues#2313
1 parent 37c6dba commit 499a93e

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

src/core/t-pair.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
else if (VAL_WORD_CANON(sel) == SYM_Y) n = 2;
149149
else return PE_BAD_SELECT;
150150
}
151-
else if (IS_INTEGER(sel)) {
151+
else if (IS_INTEGER(sel) || IS_DECIMAL(sel)) {
152152
n = Int32(sel);
153153
if (n != 1 && n !=2) return PE_BAD_SELECT;
154154
}

src/core/t-string.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ static REBSER *make_binary(REBVAL *arg, REBOOL make)
362362
REBINT c;
363363
REBSER *ser = VAL_SERIES(data);
364364

365-
if (IS_INTEGER(pvs->select)) {
365+
if (IS_INTEGER(pvs->select) || IS_DECIMAL(pvs->select)) {
366366
i = Int32(pvs->select);
367367
if (i == 0) return PE_NONE; // like in case: path/0
368368
if (i < 0) i++;

src/tests/units/decimal-test.r3

+30
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,36 @@ Rebol [
120120
;@@ https://github.com/Oldes/Rebol-issues/issues/271
121121
--assert not same? 0.1 0.3 - 0.2
122122

123+
--test-- "decimal pick"
124+
b: [1 2]
125+
--assert 1 = b/1.0
126+
--assert 1 = b/1.1
127+
--assert 1 = b/1.6
128+
--assert 2 = b/2.0
129+
--assert 2 = b/2.1
130+
--assert 2 = b/2.6
131+
s: "12"
132+
--assert #"1" = s/1.0
133+
--assert #"1" = s/1.1
134+
--assert #"1" = s/1.6
135+
--assert #"2" = s/2.0
136+
--assert #"2" = s/2.1
137+
--assert #"2" = s/2.6
138+
p: 1x2
139+
--assert 1 = p/1.0
140+
--assert 1 = p/1.1
141+
--assert 1 = p/1.6
142+
--assert 2 = p/2.0
143+
--assert 2 = p/2.1
144+
--assert 2 = p/2.6
145+
t: 1.2.3
146+
--assert 1 = t/1.0
147+
--assert 1 = t/1.1
148+
--assert 1 = t/1.6
149+
--assert 2 = t/2.0
150+
--assert 2 = t/2.1
151+
--assert 2 = t/2.6
152+
123153
===end-group===
124154

125155
~~~end-file~~~

0 commit comments

Comments
 (0)