|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 11518 (0x2cfe)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Transport_Stream;
with Interchange;
with Transport_Interchange;
with Float_Math_Lib_Defs;
with Transport_Defs;
with Rpc_Client;
with Transport_Name;
with Rpc;
package body Flt_Math_Lib is
Remote_Host : constant Transport_Defs.Host_Id :=
Transport_Name.Host_To_Host_Id ("shemp");
procedure Start_Request is
new Rpc_Client.Start_Request_Generic
(Float_Math_Lib_Defs.Network,
Remote_Host,
Float_Math_Lib_Defs.Socket, Float_Math_Lib_Defs.Program,
Float_Math_Lib_Defs.Version);
procedure Raise_Exception (Excep : Rpc.Exception_Number) is
begin
case Excep is
when Float_Math_Lib_Defs.Exception_Number.Roprand =>
raise Roprand;
when Float_Math_Lib_Defs.Exception_Number.Invargmat =>
raise Invargmat;
when Float_Math_Lib_Defs.Exception_Number.Squrooneg =>
raise Squrooneg;
when Float_Math_Lib_Defs.Exception_Number.Logzerneg =>
raise Logzerneg;
when Float_Math_Lib_Defs.Exception_Number.Floundmat =>
raise Floundmat;
when Float_Math_Lib_Defs.Exception_Number.Floovemat =>
raise Floovemat;
when others =>
raise Rpc.Other_Error;
end case;
end Raise_Exception;
procedure End_Request is
new Rpc_Client.End_Request_With_Exception (Raise_Exception);
procedure Finalize is
begin
Transport_Stream.Finalize;
end Finalize;
function Sqrt (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Sqrt);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Sqrt;
function Log (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Log);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Log;
function Log10 (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Log10);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Log10;
function Log2 (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Log2);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Log2;
function Exp (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Exp);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Exp;
function Sin (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Exp);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Sin;
function Cos (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Cos);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Cos;
function Tan (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Tan);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Tan;
function Asin (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Asin);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Asin;
function Acos (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Acos);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Acos;
function Atan (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Atan);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Atan;
function Atan2 (A1, A2 : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Atan2);
Transport_Interchange.Put (Stream, Interchange.Float (A1));
Transport_Interchange.Put (Stream, Interchange.Float (A2));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Atan2;
function Sinh (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Sinh);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Sinh;
function Cosh (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Cosh);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Cosh;
function Tanh (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Tanh);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Tanh;
function Sind (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Sind);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Sind;
function Cosd (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Cosd);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Cosd;
function Tand (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Tand);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Tand;
function Asind (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Asind);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Asind;
function Acosd (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Acosd);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Acosd;
function Atand (A : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Atand);
Transport_Interchange.Put (Stream, Interchange.Float (A));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Atand;
function Atan2d (A1, A2 : Float) return Float is
Stream : Transport_Stream.Stream_Id;
Answer : Interchange.Float;
begin
Start_Request (Stream, Float_Math_Lib_Defs.Proc_Number.Atan2d);
Transport_Interchange.Put (Stream, Interchange.Float (A1));
Transport_Interchange.Put (Stream, Interchange.Float (A2));
End_Request (Stream);
Transport_Interchange.Get (Stream, Answer);
Rpc_Client.End_Response (Stream);
return Float (Answer);
end Atan2d;
end Flt_Math_Lib;