(FILECREATED "14-May-85 12:19:43" {DSK}<DSK>HTHOMPSON>DSL>MOVEDATA.;1 4498
changes to: (FNS AWIN WIN AFIN FIN)
(VARS MOVEDATACOMS \FloatArray)
previous date: " 9-May-85 16:53:57" {DSK}<DSK>HTHOMPSON>MOVEDATA.;1)
(* Copyright (c) 1985 by Speech Input Project, Univ. of Edinburgh. All rights reserved.)
(PRETTYCOMPRINT MOVEDATACOMS)
(RPAQQ MOVEDATACOMS ([VARS (\FloatArray (ARRAY 1 'FLOATP]
(FNS AFIN AWIN FIN WIN)))
(RPAQ \FloatArray (ARRAY 1 'FLOATP))
(DEFINEQ
(AFIN
[LAMBDA (stream array nFloats firstElt format) (* ht: " 9-May-85 16:53")
(let ((base (ARRAYBASE array)))
(SELECTQ format
[VAX (for i from (if firstElt
then (LLSH (DIFFERENCE firstElt (ARRAYORIG array))
2)
else 0)
by 4 to (LLSH (PLUS (if firstElt
then (DIFFERENCE firstElt (ARRAYORIG array))
else 0)
(OR nFloats (ARRAYSIZE array))
-1)
2)
do (\PUTBASEBYTE base i+1 (BIN stream))
(\PUTBASEBYTE base i (BIN stream)+-1)
(\PUTBASEBYTE base i+3 (BIN stream))
(\PUTBASEBYTE base i+2 (BIN stream]
(\BINS stream base (if firstElt
then (LLSH (DIFFERENCE firstElt (ARRAYORIG array))
2)
else 0)
(LLSH (OR nFloats (ARRAYSIZE array))
2)))
array])
(AWIN
[LAMBDA (stream array nWords firstElt format offset) (* ht: "14-May-85 11:49")
(let ((base (ARRAYBASE array))
word)
[SELECTQ format
[VAX (if (NULL offset)
then (SETQ offset 0))
(for i from (if firstElt
then (DIFFERENCE firstElt (ARRAYORIG array))
else 0)
to (PLUS (if firstElt
then (DIFFERENCE firstElt (ARRAYORIG array))
else 0)
(OR nWords (ARRAYSIZE array))
-1)
do (SETQ word (LOGOR (BIN stream)
(LLSH (BIN stream)
8)))
(\PUTBASE base i (IMAX 0 (DIFFERENCE (if (GREATERP word 32767)
then (IDIFFERENCE word 65536)
else word)
offset]
(if (AND offset (NOT (ZEROP offset)))
then
(* * from non-vax with offset)
(for i from (if firstElt
then (DIFFERENCE firstElt (ARRAYORIG array))
else 0)
to (PLUS (if firstElt
then (DIFFERENCE firstElt (ARRAYORIG array))
else 0)
(OR nWords (ARRAYSIZE array))
-1)
do (\PUTBASE base i (DIFFERENCE (LOGOR (LLSH (BIN stream)
8)
(BIN stream))
offset)))
else
(* * fast case -
from non-vax with no offset)
(\BINS stream base (if firstElt
then (LLSH (DIFFERENCE firstElt (ARRAYORIG array))
1)
else 0)
(LLSH (OR nWords (ARRAYSIZE array))
1]
array])
(FIN
[LAMBDA (stream format) (* ht: " 9-May-85 16:15")
(let ((floatPointer (ARRAYBASE \FloatArray)))
[SELECTQ format
(VAX (\PUTBASEBYTE floatPointer 1 (BIN stream))
(\PUTBASEBYTE floatPointer 0 (BIN stream)+-1)
(\PUTBASEBYTE floatPointer 3 (BIN stream))
(\PUTBASEBYTE floatPointer 2 (BIN stream)))
(PROGN (\PUTBASEBYTE floatPointer 0 (BIN stream))
(\PUTBASEBYTE floatPointer 1 (BIN stream))
(\PUTBASEBYTE floatPointer 2 (BIN stream))
(\PUTBASEBYTE floatPointer 3 (BIN stream]
(ELT \FloatArray 1])
(WIN
[LAMBDA (stream format offset) (* ht: "13-May-85 12:01")
(SELECTQ format
(VAX (LET [(word (LOGOR (BIN stream)
(LLSH (BIN stream)
8]
(if word gt 32767
then (IDIFFERENCE word 65536)
else word)
-(OR offset 0)))
((LOGOR (LLSH (BIN stream)
8)
(BIN stream))
-(OR offset 0])
)
(PUTPROPS MOVEDATA COPYRIGHT ("Speech Input Project, Univ. of Edinburgh" 1985))
(DECLARE: DONTCOPY
(FILEMAP (NIL (501 4396 (AFIN 511 . 1490) (AWIN 1492 . 3264) (FIN 3266 . 3942) (WIN 3944 . 4394)))))
STOP