From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a5aa52a6f866183 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-26 10:18:13 PST Newsgroups: comp.lang.ada Path: nntp.gmd.de!newsserver.jvnc.net!howland.reston.ans.net!EU.net!Germany.EU.net!news.dfn.de!zeus.rbi.informatik.uni-frankfurt.de!terra.wiwi.uni-frankfurt.de!news.th-darmstadt.de!News.Uni-Marburg.DE!news.belwue.de!news.informatik.uni-stuttgart.de!spiegel From: spiegel@bruessel.informatik.uni-stuttgart.de (Andre Spiegel) Subject: Re: Flags in Ada? In-Reply-To: ncohen@watson.ibm.com's message of 25 Oct 1994 16:19:40 GMT [ 25 Oct 1994 17:19:40 MET ] Message-ID: Sender: news@informatik.uni-stuttgart.de Organization: University of Stuttgart, Germany References: <38jb6s$tsr@watnews1.watson.ibm.com> Date: Wed, 26 Oct 1994 15:54:17 GMT Date: 1994-10-26T15:54:17+00:00 List-Id: [referring to Norman H. Cohen's article <38jb6s$tsr@watnews1.watson.ibm.com>] Thanks for the flag example. I had missed the section in the RM which says that boolean operators can also be applied to boolean arrays. I suppose that compilers also recognize that what I want is bit arithmetic, and therefore won't generate loops to apply the operator to the arrays elementwise, which would of course be ridiculously slow. Thanks also for the explanations on address clauses. This is the way in which I have been doing it in my program, too. I was just wondering about efficiency, because those `declare' statements "look" somewhat expensive. For example, if UNIX fills a buffer with data items of varying length (talking about ethernet packets, actually), and I want to scan that buffer in an Ada loop, there has to be a declare statement *within* the loop, in order to, sort of, "move" the record pattern over the buffer. This seems a little counter-intuitive, because it's so different from what you would do in C, for example -- simply declare a pointer to a struct, and increment that pointer accordingly. I have found, meanwhile, that in Ada 9X the generic package Interfaces.C.Pointers will provide precisely that. But from what you wrote, I conclude that the declare statement solution does not translate into anything different at the machine level. It probably even looks more Ada-like. -- Andre Spiegel | This life is a test. It is only a test. | Had this been an actual life, you would University of Stuttgart, Germany | have received further instructions as to Computer Science | where to go and what to do. -- Author unknown email: spiegel@bruessel.informatik.uni-stuttgart.de