comp.lang.ada
 help / color / mirror / Atom feed
* HELP, Gnat Ada95 REAL_TIME package problems
@ 1997-07-24  0:00 JD
  0 siblings, 0 replies; 4+ messages in thread
From: JD @ 1997-07-24  0:00 UTC (permalink / raw)



Hello Ada people,


   I have been using Ada83 and recently switched to Gnat 3.09 Ada95. 
Part of the code I am writing utilizes timers. The Ada83 version of 
the timer code had used the CALENDAR package, I am trying to change 
this timer code to take advantage of the finer granularity found in 
the Ada95 REAL_TIME package. I have read that `Calendar.Clock' and
`Real_Time.Clock' are implemented as transformations of the same 
time base. However I can't seem to get the REAL_TIME package to work
with the "+", and "-" functions. I am trying to use these functions
with DURATION type arguments. The error from the compilier is:

gnatmake -I../common1 temp_controller
gcc -c -I./ -I../common1 -I- ../common1/run_time_timer1.adb
run_time_timer1.adb:97:49: invalid operand types for operator "+"
run_time_timer1.adb:97:63: expected type "Standard.DURATION"
run_time_timer1.adb:97:63: found private type "Ada.Real_Time.Time"
gnatmake: "../common1/run_time_timer1.adb" compilation error
*** Error code 2
make: Fatal error: Command failed for target `all'


The rom the a-calend.adb (ADA.CALENDAR) package ....
   ---------
   -- "+" --
   --------- 
   function "+" (Left : Time; Right : Duration) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Left + Time (Right));
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

   function "+" (Left : Duration; Right : Time) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Time (Left) + Right);
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

From the a-reatim.adb (ADA.REAL_TIME) package ....
   ---------
   -- "+" --
   ---------
   --  Note that Constraint_Error may be propagated
   function "+" (Left : Time; Right : Time_Span) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left : Time_Span; Right : Time) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left, Right : Time_Span) return Time_Span is
   begin
      return Time_Span (Duration (Left) + Duration (Right));
   end "+";


   Am I doing something wrong in my attempt at usage of the Ada95 
REAL_TIME package, or is there something wrong with the package 
itself? Any help would be appreciated. Thanks in Advance.

drummond@nosc.mil
(619) 553-4131




^ permalink raw reply	[flat|nested] 4+ messages in thread

* HELP, Gnat Ada95 REAL_TIME package problems
@ 1997-07-24  0:00 JD
  0 siblings, 0 replies; 4+ messages in thread
From: JD @ 1997-07-24  0:00 UTC (permalink / raw)



Hello Ada people,


   I have been using Ada83 and recently switched to Gnat 3.09 Ada95. 
Part of the code I am writing utilizes timers. The Ada83 version of 
the timer code had used the CALENDAR package, I am trying to change 
this timer code to take advantage of the finer granularity found in 
the Ada95 REAL_TIME package. I have read that `Calendar.Clock' and
`Real_Time.Clock' are implemented as transformations of the same 
time base. However I can't seem to get the REAL_TIME package to work
with the "+", and "-" functions. I am trying to use these functions
with DURATION type arguments. The error from the compilier is:

gnatmake -I../common1 temp_controller
gcc -c -I./ -I../common1 -I- ../common1/run_time_timer1.adb
run_time_timer1.adb:97:49: invalid operand types for operator "+"
run_time_timer1.adb:97:63: expected type "Standard.DURATION"
run_time_timer1.adb:97:63: found private type "Ada.Real_Time.Time"
gnatmake: "../common1/run_time_timer1.adb" compilation error
*** Error code 2
make: Fatal error: Command failed for target `all'


The rom the a-calend.adb (ADA.CALENDAR) package ....
   ---------
   -- "+" --
   --------- 
   function "+" (Left : Time; Right : Duration) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Left + Time (Right));
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

   function "+" (Left : Duration; Right : Time) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Time (Left) + Right);
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

From the a-reatim.adb (ADA.REAL_TIME) package ....
   ---------
   -- "+" --
   ---------
   --  Note that Constraint_Error may be propagated
   function "+" (Left : Time; Right : Time_Span) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left : Time_Span; Right : Time) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left, Right : Time_Span) return Time_Span is
   begin
      return Time_Span (Duration (Left) + Duration (Right));
   end "+";


   Am I doing something wrong in my attempt at usage of the Ada95 
REAL_TIME package, or is there something wrong with the package 
itself? Any help would be appreciated. Thanks in Advance.

drummond@nosc.mil
(619) 553-4131




^ permalink raw reply	[flat|nested] 4+ messages in thread

* HELP, Gnat Ada95 REAL_TIME package problems
@ 1997-07-24  0:00 JD
  0 siblings, 0 replies; 4+ messages in thread
From: JD @ 1997-07-24  0:00 UTC (permalink / raw)



Hello Ada people,


   I have been using Ada83 and recently switched to Gnat 3.09 Ada95. 
Part of the code I am writing utilizes timers. The Ada83 version of 
the timer code had used the CALENDAR package, I am trying to change 
this timer code to take advantage of the finer granularity found in 
the Ada95 REAL_TIME package. I have read that `Calendar.Clock' and
`Real_Time.Clock' are implemented as transformations of the same 
time base. However I can't seem to get the REAL_TIME package to work
with the "+", and "-" functions. I am trying to use these functions
with DURATION type arguments. The error from the compilier is:

gnatmake -I../common1 temp_controller
gcc -c -I./ -I../common1 -I- ../common1/run_time_timer1.adb
run_time_timer1.adb:97:49: invalid operand types for operator "+"
run_time_timer1.adb:97:63: expected type "Standard.DURATION"
run_time_timer1.adb:97:63: found private type "Ada.Real_Time.Time"
gnatmake: "../common1/run_time_timer1.adb" compilation error
*** Error code 2
make: Fatal error: Command failed for target `all'


The rom the a-calend.adb (ADA.CALENDAR) package ....
   ---------
   -- "+" --
   --------- 
   function "+" (Left : Time; Right : Duration) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Left + Time (Right));
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

   function "+" (Left : Duration; Right : Time) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Time (Left) + Right);
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

From the a-reatim.adb (ADA.REAL_TIME) package ....
   ---------
   -- "+" --
   ---------
   --  Note that Constraint_Error may be propagated
   function "+" (Left : Time; Right : Time_Span) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left : Time_Span; Right : Time) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left, Right : Time_Span) return Time_Span is
   begin
      return Time_Span (Duration (Left) + Duration (Right));
   end "+";


   Am I doing something wrong in my attempt at usage of the Ada95 
REAL_TIME package, or is there something wrong with the package 
itself? Any help would be appreciated. Thanks in Advance.

drummond@nosc.mil
(619) 553-4131




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Help, Gnat Ada95 REAL_TIME package problems
@ 1997-07-24  0:00 JD
  0 siblings, 0 replies; 4+ messages in thread
From: JD @ 1997-07-24  0:00 UTC (permalink / raw)



Hello Ada people,


   I have been using Ada83 and recently switched to Gnat 3.09 Ada95. 
Part of the code I am writing utilizes timers. The Ada83 version of 
the timer code had used the CALENDAR package, I am trying to change 
this timer code to take advantage of the finer granularity found in 
the Ada95 REAL_TIME package. I have read that `Calendar.Clock' and
`Real_Time.Clock' are implemented as transformations of the same 
time base. However I can't seem to get the REAL_TIME package to work
with the "+", and "-" functions. I am trying to use these functions
with DURATION type arguments. The error from the compilier is:

gnatmake -I../common1 temp_controller
gcc -c -I./ -I../common1 -I- ../common1/run_time_timer1.adb
run_time_timer1.adb:97:49: invalid operand types for operator "+"
run_time_timer1.adb:97:63: expected type "Standard.DURATION"
run_time_timer1.adb:97:63: found private type "Ada.Real_Time.Time"
gnatmake: "../common1/run_time_timer1.adb" compilation error
*** Error code 2
make: Fatal error: Command failed for target `all'


The rom the a-calend.adb (ADA.CALENDAR) package ....
   ---------
   -- "+" --
   --------- 
   function "+" (Left : Time; Right : Duration) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Left + Time (Right));
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

   function "+" (Left : Duration; Right : Time) return Time is
      pragma Unsuppress (Overflow_Check);
   begin
      return (Time (Left) + Right);
   exception
      when Constraint_Error =>
         raise Time_Error;
   end "+";

From the a-reatim.adb (ADA.REAL_TIME) package ....
   ---------
   -- "+" --
   ---------
   --  Note that Constraint_Error may be propagated
   function "+" (Left : Time; Right : Time_Span) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left : Time_Span; Right : Time) return Time is
   begin
      return Time (Duration (Left) + Duration (Right));
   end "+";

   function "+"  (Left, Right : Time_Span) return Time_Span is
   begin
      return Time_Span (Duration (Left) + Duration (Right));
   end "+";


   Am I doing something wrong in my attempt at usage of the Ada95 
REAL_TIME package, or is there something wrong with the package 
itself? Any help would be appreciated. Thanks in Advance.

drummond@nosc.mil
(619) 553-4131




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1997-07-24  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-07-24  0:00 HELP, Gnat Ada95 REAL_TIME package problems JD
  -- strict thread matches above, loose matches on Subject: below --
1997-07-24  0:00 JD
1997-07-24  0:00 Help, " JD
1997-07-24  0:00 HELP, " JD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox