[comp.lang.eiffel] Help - Eiffel problem

bglenden@colobus.cv.nrao.edu (Brian Glendenning) (05/22/91)

Can anyone tell me what is wrong with the enclosed Eiffel test system -
there is probably something simple I'm overlooking, but I can't see
it and it is driving me crazy (I have extracted this small sample from
a larger, more real, problem). Thank you.

Brian
---------------------------------------------------------------------------
#!/bin/sh
# This is a shell archive (shar 3.24)
# made 05/21/1991 20:43 UTC by bglenden@mandrill
# Source directory /sun4/aips/pgmr/bglenden/eiffel/tmp/tmp
#
# existing files WILL be overwritten
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#    468 -rw-r--r-- myarray.e
#    560 -rw-r--r-- nmyarray.e
#    697 -rw-r--r-- sample.e
#
if touch 2>&1 | fgrep '[-amc]' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= myarray.e ==============
echo "x - extracting myarray.e (Text)"
sed 's/^X//' << 'SHAR_EOF' > myarray.e &&
Xclass MYARRAY[T] export 
X   -- For testing
X   item, put, count, storage
Xinherit
X   VIEWABLE
Xfeature
X   
X   Create ( s: INTEGER) is
X      do
X	 storage.Create(1, s);
X      end;
X   
X   storage: ARRAY[T]; -- element storage
X   
X   count: INTEGER is
X      do
X	 Result := storage.count;
X      end;
X   
X   
X   put (v: T; p: INTEGER) is
X      do
X	 storage.put(v, p);
X      end;
X   
X   item (p: INTEGER): T is
X      local
X      do
X	 Result := storage.item(p)
X      end;
X
Xend
X 
SHAR_EOF
$TOUCH -am 0521163291 myarray.e &&
chmod 0644 myarray.e ||
echo "restore of myarray.e failed"
set `wc -c myarray.e`;Wc_c=$1
if test "$Wc_c" != "468"; then
	echo original size 468, current size $Wc_c
fi
# ============= nmyarray.e ==============
echo "x - extracting nmyarray.e (Text)"
sed 's/^X//' << 'SHAR_EOF' > nmyarray.e &&
Xclass NMYARRAY[T -> NUMERIC] export
X   repeat MYARRAY, infix "+"
Xinherit
X   MYARRAY[T] rename Create as maCreate;
X   VIEWABLE
X   
Xfeature
X   
X   Create ( s: INTEGER) is
X      do
X	 maCreate(s);
X      end;
X   
X   infix "+"  (other: NMYARRAY[T]): NMYARRAY[T] is
X	 -- Sum of this field and other element by element.
X      local
X	 i: INTEGER;
X      do
X	 Result.Create(Current.count);
X	 from i := 1 until i > count
X	 loop
X	    io.putint(i); io.new_line;
X	    Result.storage.put(storage.item(i) + other.storage.item(i), i);
X	    i := i + 1;
X	 end;
X      end;
X   
Xend
SHAR_EOF
$TOUCH -am 0521164191 nmyarray.e &&
chmod 0644 nmyarray.e ||
echo "restore of nmyarray.e failed"
set `wc -c nmyarray.e`;Wc_c=$1
if test "$Wc_c" != "560"; then
	echo original size 560, current size $Wc_c
fi
# ============= sample.e ==============
echo "x - extracting sample.e (Text)"
sed 's/^X//' << 'SHAR_EOF' > sample.e &&
Xclass SAMPLE export
X   -- Test
Xinherit
X   VIEWABLE;
Xfeature
X   Create is
X      local
X	 r, image, beam: NMYARRAY[REAL];
X	 i, j: INTEGER;
X      do
X--	 viewer_on_failure;
X	 image.Create(10);
X	 beam.Create(10);
X	 io.putstring("Setting"); io.new_line;
X	 beam.put(1.0,5);
X	 image.put(10.0,5);
X	 io.putstring("image");io.new_line;
X	 display(image);
X	 io.putstring("beam");io.new_line;
X	 display(beam);
X	 io.putstring("image + beam");io.new_line;
X	 r := image + beam;
X	 display(r);
X      end;
X
X   display (a: NMYARRAY[REAL]) is
X      local
X	 i: INTEGER;
X      do
X	 from i := 1 until i > a.count
X	 loop
X	    io.putreal(a.item(i)); io.putstring(" ");
X	    i := i + 1;
X	 end;
X	 io.new_line;
X      end;
X
Xend
X
SHAR_EOF
$TOUCH -am 0521164291 sample.e &&
chmod 0644 sample.e ||
echo "restore of sample.e failed"
set `wc -c sample.e`;Wc_c=$1
if test "$Wc_c" != "697"; then
	echo original size 697, current size $Wc_c
fi
exit 0
--
       Brian Glendenning - National Radio Astronomy Observatory
bglenden@nrao.edu          bglenden@nrao.bitnet          (804) 296-0286