[BACK]Return to generic_polynomial_systems.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials / generic_polynomial_systems.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:26 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Abstract_Ring;
with Generic_Polynomials;

generic

  with package Ring is new Abstract_Ring(<>);
  with package Polynomials is new Generic_Polynomials(Ring);

package Generic_Polynomial_Systems is 

-- DESCRIPTION :
--   This package provides polynomial systems as an array of polynomials
--   with some arithmetic operations.

  use Ring,Polynomials;

-- DATA STRUCTURES :

  type Poly_Sys is array ( integer range <> ) of Poly;
  type Link_to_Poly_Sys is access Poly_Sys;

-- COPYING :

  procedure Copy ( p : in Poly_Sys; q : in out Poly_Sys );

-- ARITHMETIC OPERATIONS :

  function "+" ( p,q : Poly_Sys ) return Poly_Sys;            -- return p+q
  function "-" ( p,q : Poly_Sys ) return Poly_Sys;            -- return p-q
  function "-" ( p : Poly_Sys ) return Poly_Sys;              -- return -p
  function "*" ( a : number; p : Poly_Sys ) return Poly_Sys;  -- return a*p
  function "*" ( p : Poly_Sys; a : number) return Poly_Sys;   -- return p*a

  procedure Add ( p : in out Poly_Sys; q : in Poly_Sys );     -- p := p+q
  procedure Sub ( p : in out Poly_Sys; q : in Poly_Sys );     -- p := p-q
  procedure Min ( p : in out Poly_Sys );                      -- p := -p
  procedure Mul ( p : in out Poly_Sys; a : in number );       -- p := a*p

-- DIFFERENTIATORS :

  function  Diff ( p : Poly_Sys; i : natural ) return Poly_Sys;
  procedure Diff ( p : in out Poly_Sys; i : in natural );

-- DESTRUCTORS :

  procedure Clear ( p : in out Poly_Sys );
  procedure Clear ( p : in out Link_to_Poly_Sys );

end Generic_Polynomial_Systems;