remove math.blas.syntax and merge parsing words into math.blas.vectors/matrices
[factor/jcg.git] / basis / io / streams / memory / memory.factor
blob20d9f4eb0c45e58c9edf7ef3687dc9a15941b592
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel accessors alien alien.c-types alien.accessors math io ;
4 IN: io.streams.memory
6 TUPLE: memory-stream alien index ;
8 : <memory-stream> ( alien -- stream )
9     0 memory-stream boa ;
11 M: memory-stream stream-read1
12     [ [ alien>> ] [ index>> ] bi alien-unsigned-1 ]
13     [ [ 1+ ] change-index drop ] bi ;
15 M: memory-stream stream-read
16     [
17         [ index>> ] [ alien>> ] bi <displaced-alien>
18         swap memory>byte-array
19     ] [ [ + ] change-index drop ] 2bi ;