]> gitweb.factorcode.org Git - factor.git/commitdiff
nibble-arrays: -1 <nibble-array> should throw an error
authorSlava Pestov <slava@factorcode.org>
Sat, 27 Aug 2011 23:44:59 +0000 (16:44 -0700)
committerSlava Pestov <slava@factorcode.org>
Sat, 27 Aug 2011 23:44:59 +0000 (16:44 -0700)
basis/nibble-arrays/nibble-arrays-tests.factor
basis/nibble-arrays/nibble-arrays.factor

index 363f30678dadefff30c3522fda26915c563ce31d..92a38e509b87e67fbab630d9935ccf6d8659cb1c 100644 (file)
@@ -1,6 +1,8 @@
 USING: nibble-arrays tools.test sequences kernel math ;
 IN: nibble-arrays.tests
 
+[ -1 <nibble-array> ] [ T{ bad-array-length f -1 } = ] must-fail-with
+
 [ t ] [ 16 iota dup >nibble-array sequence= ] unit-test
 [ N{ 4 2 1 3 } ] [ N{ 3 1 2 4 } reverse ] unit-test
 [ N{ 1 4 9 0 9 4 } ] [ N{ 1 2 3 4 5 6 } [ sq ] map ] unit-test
index 712b62f20b0bd248e1847c94b39fd69840aee9ee..0e7298165cdf6d0460d0135fbc3da0291d89ba7d 100644 (file)
@@ -30,7 +30,10 @@ CONSTANT: nibble BIN: 1111
 
 PRIVATE>
 
+ERROR: bad-array-length n ;
+
 : <nibble-array> ( n -- nibble-array )
+    dup 0 < [ bad-array-length ] when
     dup nibbles>bytes <byte-array> nibble-array boa ; inline
 
 M: nibble-array length length>> ;