TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Proportional Font
Show HTML Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Pascal Obry <[log in to unmask]>
Thu, 16 Jul 1998 11:09:20 +0200
text/plain (112 lines)
Here is one solution to this problem :

   package Some_Package is
      type Private_Type is private;
      function "And" (Left, Right: Private_Type) return Private_Type;
   private
      type Array_Type is array (0 .. 1023) of Boolean;
      type Private_Type is new Array_Type;
   end Some_Package;

   package body Some_Package is
      function "And" (Left, Right: Private_Type) return Private_Type is
      begin
         return Private_Type (Array_Type (Left) and Array_Type (Right));
      end "and";
   end Some_Package;

Pascal.

--|------------------------------------------------------------
--| Pascal Obry                               Team-Ada Member |
--|                                                           |
--| EDF-DER-IPN-SID- T T I                                    |
--|                       Intranet: http://cln49ae            |
--| Bureau N-023            e-mail: [log in to unmask]     |
--| 1 Av Général de Gaulle  voice : +33-1-47.65.50.91         |
--| 92141 Clamart CEDEX     fax   : +33-1-47.65.50.07         |
--| FRANCE                                                    |
--|------------------------------------------------------------
--|
--|   http://ourworld.compuserve.com/homepages/pascal_obry
--|
--|   "The best way to travel is by means of imagination"


> -----Message d'origine-----
> De: Team Ada: Ada Advocacy Issues (83 & 95)
> [mailto:[log in to unmask]]De
> la part de Alexander.Heim
> Date: jeudi 16 juillet 1998 10:25
> À: [log in to unmask]
> Objet: Problem with "and" - function (Array of Boolean)
>
>
> Hi Teamers,
>
>
> I'm posting the following problem for a friend of mine:
>
>
> > I have the following problem, when trying to implement a
> function "and".
> >
> >  package Some_Package is
> >    type Private_Type is private;
> >    function "And" (Left, Right: Private_Type) return Private_Type ;
> >  private
> >    type Private_Type is array (0 .. 1023) of Boolean;
> >  end Some_Package;
> >
> >
> > -- I want to implement Some_Package."And" using the
> predefined logical
> > -- operation "And" for any one-dimensional array type whose
> components
> > -- are of a boolean type.
> >  package body Some_Package is
> >    function "And" (Left, Right: Private_Type) return
> Private_Type   is
> >    begin
> >      return Left and Right;  -- ERROR: AND is here
> Some_Package."AND",
> >                              -- endless recursive
> >    end "and";
> >  end Some_Package;
> >
> > To fix the error in the implementation above, I need to qualify the
> > predefined
> > "And" operation:
> >
> >
> >  package body Some_Package is
> >    function "And" (Left, Right: Private_Type) return Private_Type is
> >    begin
> >      return Standard."And" (Left, Right);  -- ERROR: not possible
> >    end "and";
> >  end Some_Package;
> >
> > How is it possible to qualify the predefined logical operations to
> > distinguish between Some_Package."and" and the predefined "and"?
> >
> > Thanks in advance,
> >
> >
> > Juergen Hoyng,  RIO 62             |   email :
> [log in to unmask]
> > DASA/RI                            |   fax   : +49 421 539 4529
> > Postfach 286156                    |   voice : +49 421 539 5348
> > D-28361 Bremen                     |
> > Germany
>
>
>
>
> --
> Alexander Heim                       ___       Phone:  +49
> 421 539-5869
> Daimler-Benz Aerospace AG     ________|________  Fax:  +49
> 421 539-4424
> mailto:[log in to unmask]      0
>

ATOM RSS1 RSS2