File: example2.e

package info (click to toggle)
smarteiffel 1.1-11
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 12,288 kB
  • ctags: 40,785
  • sloc: ansic: 35,791; lisp: 4,036; sh: 1,783; java: 895; ruby: 613; python: 209; makefile: 115; csh: 78; cpp: 50
file content (45 lines) | stat: -rw-r--r-- 1,001 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class EXAMPLE2
--
-- This example shows how to know about time variation using
-- class TIME.
--

creation make

feature {NONE}

   make is
      local
         time1, time2: TIME; clock: CLOCK;
	 clock_value1, clock_value2, periods: INTEGER;
	 seconds: DOUBLE;
      do
	 if clock.value >= 0 then
	    clock_value1 := clock.value;
	 end;
         time1.update;
         from
            time2.update;
         until
            time2 > time1
         loop
            time2.update;
         end;
	 clock_value2 := clock.value;

         io.put_string("Elapsed time: ");
         io.put_integer(time1.elapsed_seconds(time2).floor);
         io.put_string(" seconds%N");

	 if clock_value1 >= 0 then
	    io.put_string("Elapsed time in number of clock periods: ");
	    periods := clock_value2 - clock_value1;
	    io.put_integer(periods);
	    io.put_string(" (sec: ");
	    seconds := periods / clock.periods_per_second;
	    io.put_double(seconds);
	    io.put_string(")%N");
	 end;
      end;

end