move signed-le> to io.binary, clean up using list for math.bitwise
							parent
							
								
									bad8e05937
								
							
						
					
					
						commit
						78bbf96a6d
					
				|  | @ -1,8 +1,7 @@ | ||||||
| ! Copyright (C) 2007, 2008 Slava Pestov, Doug Coleman. | ! Copyright (C) 2007, 2008 Slava Pestov, Doug Coleman. | ||||||
| ! See http://factorcode.org/license.txt for BSD license. | ! See http://factorcode.org/license.txt for BSD license. | ||||||
| USING: arrays assocs kernel math sequences accessors | USING: arrays assocs combinators combinators.smart fry kernel | ||||||
| math.bits sequences.private words namespaces macros | macros math math.bits sequences sequences.private words ; | ||||||
| hints combinators fry io.binary combinators.smart ; |  | ||||||
| IN: math.bitwise | IN: math.bitwise | ||||||
| 
 | 
 | ||||||
| ! utilities | ! utilities | ||||||
|  | @ -104,14 +103,6 @@ PRIVATE> | ||||||
| : bit-count ( x -- n ) | : bit-count ( x -- n ) | ||||||
|     dup 0 < [ bitnot ] when (bit-count) ; inline |     dup 0 < [ bitnot ] when (bit-count) ; inline | ||||||
| 
 | 
 | ||||||
| ! Signed byte array to integer conversion |  | ||||||
| : signed-le> ( bytes -- x ) |  | ||||||
|     [ le> ] [ length 8 * 1 - on-bits ] bi |  | ||||||
|     2dup > [ bitnot bitor ] [ drop ] if ; |  | ||||||
| 
 |  | ||||||
| : signed-be> ( bytes -- x ) |  | ||||||
|     <reversed> signed-le> ; |  | ||||||
| 
 |  | ||||||
| : >signed ( x n -- y ) | : >signed ( x n -- y ) | ||||||
|     2dup neg 1 + shift 1 = [ 2^ - ] [ drop ] if ; |     2dup neg 1 + shift 1 = [ 2^ - ] [ drop ] if ; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -24,3 +24,10 @@ IN: io.binary | ||||||
| : h>b/b ( h -- b1 b2 ) | : h>b/b ( h -- b1 b2 ) | ||||||
|     [ mask-byte ] |     [ mask-byte ] | ||||||
|     [ -8 shift mask-byte ] bi ; |     [ -8 shift mask-byte ] bi ; | ||||||
|  | 
 | ||||||
|  | : signed-le> ( bytes -- x ) | ||||||
|  |     [ le> ] [ length 8 * 1 - 2^ 1 - ] bi | ||||||
|  |     2dup > [ bitnot bitor ] [ drop ] if ; | ||||||
|  | 
 | ||||||
|  | : signed-be> ( bytes -- x ) | ||||||
|  |     <reversed> signed-le> ; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue