diff options
author | dos-reis <gdr@axiomatics.org> | 2008-08-24 13:52:23 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-08-24 13:52:23 +0000 |
commit | 60a9e4cc014a5c2b9982121a7af4bee1f75ed1b4 (patch) | |
tree | 55aec1eecb99dd96dfb4f83af4086d38d2b6d3d9 /src/algebra/data.spad.pamphlet | |
parent | 65ade1a218eb177b1e5d08f9929c8b73eaa914bd (diff) | |
download | open-axiom-60a9e4cc014a5c2b9982121a7af4bee1f75ed1b4.tar.gz |
* algebra/net.spad.pamphlet: New.
* algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include
HOSTNAME and PORTNUM.
* algebra/exposed.lsp.pamphlet: Export them.
* algebra/data.spad.pamphlet (DataBuffer): New.
Diffstat (limited to 'src/algebra/data.spad.pamphlet')
-rw-r--r-- | src/algebra/data.spad.pamphlet | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/algebra/data.spad.pamphlet b/src/algebra/data.spad.pamphlet index 8e8d8ca2..9640d7ad 100644 --- a/src/algebra/data.spad.pamphlet +++ b/src/algebra/data.spad.pamphlet @@ -75,6 +75,42 @@ ByteArray() == PrimitiveArray Byte @ +\section{The DataBuffer domain} + +<<domain DATABUF DataBuffer>>= +)abbrev domain DATABUF DataBuffer +++ Author: Gabriel Dos Reis +++ Date Created: August 23, 2008 +++ Description: +++ This domain provides for a fixed-sized homogeneous data buffer. +DataBuffer(N: PositiveInteger, T: SetCategory): Public == Private where + Public == SetCategory with + new: () -> % + ++ new() returns a fresly allocated data buffer or length N. + elt: (%,NonNegativeInteger) -> T + ++ elt(b,i) returns the ith element in buffer `b'. Indexing + ++ is 0-based. + setelt: (%,NonNegativeInteger,T) -> T + ++ setelt(b,i,x) sets the ith entry of data buffer `b' to `x'. + ++ Indexing is 0-based. + Private == add + new() == + makeSimpleArray(getVMType(T)$Lisp,N)$Lisp + + elt(b,i) == + getSimpleArrayEntry(b,i)$Lisp + + setelt(b,i,x) == + setSimpleArrayEntry(b,i,x)$Lisp + + x = y == + EQUAL(x,y)$Lisp + + coerce(b: %): OutputForm == + bracket([elt(b,i)::OutputForm for i in 0..(N-1)]) +@ + + \section{License} <<license>>= --Copyright (C) 2007-2008, Gabriel Dos Reis. |