(* ---------------------------------------------------------------------------- * $Id: SACEXT6.mi,v 1.3 1992/10/15 16:28:58 kredel Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1989 - 1992 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: SACEXT6.mi,v $ * Revision 1.3 1992/10/15 16:28:58 kredel * Changed rcsid variable * * Revision 1.2 1992/02/12 17:34:52 pesch * Moved CONST definition to the right place * * Revision 1.1 1992/01/22 15:16:02 kredel * Initial revision * * ---------------------------------------------------------------------------- *) IMPLEMENTATION MODULE SACEXT6; (* SAC Extensions 6 Implementation Module. *) (* Import lists and declarations. *) FROM MASSTOR IMPORT LIST, SIL, BETA, COMP, SRED, ADV, FIRST, RED; FROM SACLIST IMPORT CONC; FROM SACEXT5 IMPORT IPCSFB; FROM SACPFAC IMPORT ISFPF; CONST rcsidi = "$Id: SACEXT6.mi,v 1.3 1992/10/15 16:28:58 kredel Exp $"; CONST copyrighti = "Copyright (c) 1989 - 1992 Universitaet Passau"; PROCEDURE IPFSFB(RL,A: LIST): LIST; (*Integral polynomial finest squarefree basis. A eq (A sub 1 , ..., A sub n ), n ge 0, is a list of positive primitive integral polynomials in r variables, r ge 1, each of which is of positive degree in its main variable. B is a finest squarefree basis for A.*) VAR B, B1, BP, BS, L: LIST; BEGIN (*1*) (*get coarsest squarefree basis for a.*) BS:=IPCSFB(RL,A); (*2*) (*factor each basis element.*) B:=BETA; WHILE BS <> SIL DO ADV(BS, B1,BS); L:=ISFPF(RL,B1); BP:=CONC(L,B); B:=BP; END; RETURN(B); (*5*) END IPFSFB; END SACEXT6. (* -EOF- *)