Ada 95 :: x99_mix.ada

with Interfaces.C, Ada.Unchecked_conversion;
use  Interfaces.C;
  function to_c_int is new
    Ada.Unchecked_conversion( Integer, Int );

with Interfaces.C, Ada.Unchecked_conversion;
use  Interfaces.C;
  function to_ada_integer is new
    Ada.Unchecked_conversion( Int, Integer );

with Interfaces.C, to_c_int, to_ada_integer;
use  Interfaces.C;
function double( n:in Integer ) return Integer is
   function c_double(n:in Int) return Int;
   pragma import (C, c_double, "c_double");
begin
  return to_ada_integer( c_double( to_c_int(n) ) );
end double;

with Simple_io, double;
use  Simple_io;
procedure main is
begin
  put("3 Doubled is "); put( double(3) ); new_Line;
end main;


© M.A.Smith University of Brighton. Created September 1995 last modified May 1997.
Comments, suggestions, etc. M.A.Smith@brighton.ac.uk * [Home page]