From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: Side-effect arithmetic again [was: Ada ... in embedded systems]
Date: 1996/03/21
Date: 1996-03-21T00:00:00+00:00 [thread overview]
Message-ID: <EACHUS.96Mar21184540@spectre.mitre.org> (raw)
In-Reply-To: 4il3ce$fqa@saba.info.ucla.edu
In article <4iq2ia$lk7@dayuc.dayton.saic.com> John G. Volan <John_Volan@ccmail.dayton.saic.com> writes:
> I wasn't throwing down a gauntlet or anything, just throwing out an idea
> for consideration ... :-)
But since you took the gauntlet back, I'll suggest some of the
things I was going to put in:
> No need to think about it overnight, _both_ can be done fairly
> trivially:
(My conclusion was that you really only need one package:)
------------------------------------------------------------------------
generic
type Item is (<>);
package Discrete_Arithmetic is
procedure Increment (This : in out Item);
procedure Decrement (This : in out Item);
--add
procedure Increment (This : in out Item; By: in Positive);
procedure Decrement (This : in out Item; By: in Positive);
procedure Cycle (This: in out Item);
--moved for obvious reasons.
pragma Inline (Increment);
pragma Inline (Decrement);
pragma Inline (Cycle);
end Discrete_Arithmetic;
------------------------------------------------------------------------
package body Discrete_Arithmetic is
procedure Increment (This : in out Item) is
begin
This := Item'Succ (This);
end Increment;
procedure Decrement (This : in out Item) is
begin
This := Item'Pred (This);
end Decrement;
procedure Increment (This : in out Item; By: in Positive) is
begin
This := Item'Val(Item'Pos(This) + By);
end Increment;
procedure Decrement (This : in out Item; By: in Positive) is
begin
This := Item'Val(Item'Pos(This) - By);
end Decrement;
procedure Cycle (This: in out Item) is
begin
if This = Item'LAST
then This := Item'First;
else This := Item'Succ(This);
end if;
end Cycle;
end Discrete_Arithmetic;
------------------------------------------------------------------
--
Robert I. Eachus
with Standard_Disclaimer;
use Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
next prev parent reply other threads:[~1996-03-21 0:00 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <823906039.22113@assen.demon.co.uk>
[not found] ` <4fgrq3$mc4@qualcomm.com>
[not found] ` <dewar.823962356@schonberg>
1996-02-17 0:00 ` Ada is almost useless in embedded systems Tore Joergensen
1996-02-17 0:00 ` Robert Dewar
1996-02-19 0:00 ` Keith Thompson
1996-02-19 0:00 ` John McCabe
1996-02-21 0:00 ` Richard A. O'Keefe
1996-02-21 0:00 ` Norman H. Cohen
1996-02-19 0:00 ` Jon S Anthony
[not found] ` <824056183.18993@assen.demon.co.uk>
[not found] ` <311E924E.74CE@escmail.orl.mmc.com>
1996-02-17 0:00 ` Ada is great for embedded systems (was Ada is almost useless in embedded systems) Ken & Virginia Garlington
[not found] ` <4fnqpm$3nh@news.sanders.lockheed.com>
1996-02-19 0:00 ` Ada is almost useless in embedded systems AdaWorks
1996-02-21 0:00 ` Hugh Dunne
1996-02-21 0:00 ` Ken Garlington
[not found] ` <4fnp37$nj1@theopolis.orl.mmc.com>
1996-02-22 0:00 ` Alan Brain
1996-02-19 0:00 ` R.A.L Williams
1996-02-21 0:00 ` Richard A. O'Keefe
1996-02-19 0:00 ` AdaWorks
1996-02-21 0:00 ` Ken Garlington
1996-02-23 0:00 ` AdaWorks
[not found] ` <emery-0902962215150001@line316.nwm.mindlink.net>
[not found] ` <DMoA85.52I@eskimo.com>
[not found] ` <823965654.4500@assen.demon.co.uk>
[not found] ` <824165619.14894@assen.demon.co.uk>
[not found] ` <JSA.96Feb13133713@organon.com>
[not found] ` <824259217.26321@assen.demon.co.uk>
1996-02-17 0:00 ` Robert Dewar
1996-02-18 0:00 ` John McCabe
1996-02-18 0:00 ` Robert Dewar
1996-02-19 0:00 ` John McCabe
1996-02-20 0:00 ` Robert Dewar
1996-02-21 0:00 ` Fergus Henderson
[not found] ` <824332550.2485@assen.demon.co.uk>
1996-02-17 0:00 ` Ken & Virginia Garlington
1996-02-17 0:00 ` Robert Dewar
1996-02-18 0:00 ` John McCabe
1996-02-18 0:00 ` Robert Dewar
1996-02-19 0:00 ` John McCabe
[not found] ` <4fs7ml$cf1@rational.rational.com>
1996-02-26 0:00 ` Ada 83 " Alan Brain
1996-02-26 0:00 ` Ada is almost useless " R.A.L Williams
[not found] ` <4h3q56$1vk@goanna.cs.rmit.EDU.AU>
[not found] ` <dewar.825635955@schonberg>
[not found] ` <826571250.140@assen.demon.co.uk>
[not found] ` <dewar.826634800@schonberg>
1996-03-21 0:00 ` John McCabe
1996-03-23 0:00 ` Side-effect arithmetic again [was: Ada ... in embedded systems] John G. Volan
1996-03-23 0:00 ` Robert Dewar
1996-03-25 0:00 ` Tucker Taft
1996-03-25 0:00 ` Robert A Duff
1996-03-25 0:00 ` Norman H. Cohen
1996-03-26 0:00 ` John G. Volan
1996-03-26 0:00 ` Robert A Duff
1996-03-26 0:00 ` Tore Joergensen
1996-03-27 0:00 ` John G. Volan
1996-03-28 0:00 ` Tucker Taft
1996-03-28 0:00 ` Robert Dewar
1996-03-29 0:00 ` Tucker Taft
1996-03-29 0:00 ` Tucker Taft
1996-03-27 0:00 ` John G. Volan
1996-03-29 0:00 ` Robert A Duff
1996-03-30 0:00 ` John G. Volan
1996-03-31 0:00 ` AdaWorks
1996-04-01 0:00 ` Robert A Duff
1996-03-30 0:00 ` John G. Volan
1996-03-27 0:00 ` John G. Volan
1996-03-26 0:00 ` Robert Dewar
1996-03-29 0:00 ` Robert I. Eachus
[not found] ` <RALW.96Feb28100925@vulcan.gmrc.gecm.com>
[not found] ` <dewar.825775334@schonberg>
[not found] ` <RALW.96Mar8113005@vulcan.gecm.com>
[not found] ` <4hv2fb$6ra@cville-srv.wam.umd.edu>
[not found] ` <4xybp895y6.fsf@leibniz.enst-bretagne.fr>
[not found] ` <3144CC40.33A0@escmail.orl.mmc.com>
[not found] ` <dewar.826604375@schonberg>
[not found] ` <3145FF2C.6139@escmail.orl.mmc.com>
[not found] ` <dewar.826829407@schonberg>
[not found] ` <31499D21.1DA6@escmail.orl.mmc.com>
1996-03-15 0:00 ` Bug or Limitation? (was: Ada is almost useless in embedded systems) Robert Dewar
1996-03-16 0:00 ` Ted Dennison
1996-03-20 0:00 ` Side-effect arithmetic again [was: Ada ... in embedded systems] Robert I. Eachus
1996-03-20 0:00 ` John G. Volan
1996-03-22 0:00 ` Alan Brain
1996-03-20 0:00 ` Robert A Duff
1996-03-21 0:00 ` Peter Hermann
1996-03-21 0:00 ` Robert Dewar
1996-03-25 0:00 ` Robert I. Eachus
1996-03-28 0:00 ` Mats Weber
1996-03-29 0:00 ` John G. Volan
1996-03-21 0:00 ` Geert Bosch
1996-03-26 0:00 ` Mats Weber
1996-03-15 0:00 ` Ada is almost useless in embedded systems Robert I. Eachus
[not found] ` <dirk.827148504@demokrit>
1996-03-18 0:00 ` David Weller
1996-03-18 0:00 ` Alan Brain
[not found] ` <4ik5bm$ogg@dayuc.dayton.saic.com>
1996-03-18 0:00 ` Side-effect arithmetic again [was: Ada ... in embedded systems] Robert Dewar
1996-03-19 0:00 ` Jay Martin
1996-03-21 0:00 ` Robert I. Eachus [this message]
1996-03-19 0:00 ` Norman H. Cohen
1996-03-16 0:00 ` Ada is almost useless in embedded systems Kevin Dalley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox