aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/data.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-05-08 23:43:29 +0000
committerdos-reis <gdr@axiomatics.org>2008-05-08 23:43:29 +0000
commit9a48778ee366536ba772e3c23b1e95ef63af6c5a (patch)
tree6d59b102d87c63d7534c93a7fcc6bad1bce2ff5a /src/algebra/data.spad.pamphlet
parent78b4bdac02e3f64db5acfa9ebdb1b88696b9a405 (diff)
downloadopen-axiom-9a48778ee366536ba772e3c23b1e95ef63af6c5a.tar.gz
* algebra/java.spad.pamphlet: New. Implement JavaBytecode.
* algebra/data.spad.pamphlet (bitand$Byte): New. (bitior$Byte): Likewwise. (byte$Byte): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_15): Include JAVACODE.
Diffstat (limited to 'src/algebra/data.spad.pamphlet')
-rw-r--r--src/algebra/data.spad.pamphlet23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/algebra/data.spad.pamphlet b/src/algebra/data.spad.pamphlet
index b67fca76..8e8d8ca2 100644
--- a/src/algebra/data.spad.pamphlet
+++ b/src/algebra/data.spad.pamphlet
@@ -24,16 +24,25 @@ import OutputForm
++ Byte is the datatype of 8-bit sized unsigned integer values.
Byte(): Public == Private where
Public ==> Join(OrderedSet, CoercibleTo NonNegativeInteger) with
- coerce: NonNegativeInteger -> %
- ++ coerce(x) injects the unsigned integer value `v' into
+ byte: NonNegativeInteger -> %
+ ++ byte(x) injects the unsigned integer value `v' into
++ the Byte algebra. `v' must be non-negative and less than 256.
+ coerce: NonNegativeInteger -> %
+ ++ coerce(x) has the same effect as byte(x).
+ bitand: (%,%) -> %
+ ++ bitand(x,y) returns the bitwise `and' of `x' and `y'.
+ bitior: (%,%) -> %
+ ++ bitor(x,y) returns the bitwise `inclusive or' of `x' and `y'.
Private ==> add
- coerce(x: NonNegativeInteger): % ==
+ byte(x: NonNegativeInteger): % ==
byteGreaterEqual(x,256$Lisp)$Lisp =>
userError "integer value cannot be represented by a byte"
x : %
+ coerce(x: NonNegativeInteger): % ==
+ byte x
+
coerce(x: %): NonNegativeInteger ==
x : NonNegativeInteger
@@ -42,6 +51,12 @@ Byte(): Public == Private where
x < y ==
byteLessThan(x,y)$Lisp
+
+ bitand(x,y) ==
+ bitand(x,y)$Lisp
+
+ bitior(x,y) ==
+ bitior(x,y)$Lisp
@
@@ -100,3 +115,5 @@ ByteArray() == PrimitiveArray Byte
<<domain BYTE Byte>>
<<domain BYTEARY ByteArray>>
@
+
+\end{document}