Changeset 15ebcf in git for factory/fac_cantzass.cc


Ignore:
Timestamp:
May 11, 1998, 11:37:40 AM (25 years ago)
Author:
Jens Schmidt <schmidt@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
c40119ecffa51b841f092c090d4c4a4e5be673d0
Parents:
2b665389fc600901255b1c76a0cd8d14bd860556
Message:
	* fac_cantzass.cc (CantorZassenhausFactorFFGF,
	  CantorZassenhausFactorExt): new local variables `firstFactor',
	  `secondFactor' introduced to fix order of evaluation of
	  recursive factorizations


git-svn-id: file:///usr/local/Singular/svn/trunk@1678 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/fac_cantzass.cc

    r2b6653 r15ebcf  
    11/* emacs edit mode for this file is -*- C++ -*- */
    2 /* $Id: fac_cantzass.cc,v 1.4 1997-12-08 18:24:28 schmidt Exp $ */
     2/* $Id: fac_cantzass.cc,v 1.5 1998-05-11 09:37:40 schmidt Exp $ */
    33
    44#include <config.h>
     
    156156        b = randomPoly( d, x, gen );
    157157        f1 = gcd( b, f );
    158         if ( (d1 = f1.degree(x)) > 0 && d1 < d )
    159             return Union( CantorZassenhausFactorFFGF( f1, s, q, gen ), CantorZassenhausFactorFFGF( f/f1, s, q, gen ) );
    160         else {
     158        if ( (d1 = f1.degree(x)) > 0 && d1 < d ) {
     159            CFFList firstFactor = CantorZassenhausFactorFFGF( f1, s, q, gen );
     160            CFFList secondFactor = CantorZassenhausFactorFFGF( f/f1, s, q, gen );
     161            return Union( firstFactor, secondFactor );
     162        } else {
    161163            f1 = gcd( f, powerMod2( b, q, s, f ) - 1 );
    162             if ( (d1 = f1.degree(x)) > 0 && d1 < d )
    163                 return Union( CantorZassenhausFactorFFGF( f1, s, q, gen ), CantorZassenhausFactorFFGF( f/f1, s, q, gen ) );
     164            if ( (d1 = f1.degree(x)) > 0 && d1 < d ) {
     165                CFFList firstFactor = CantorZassenhausFactorFFGF( f1, s, q, gen );
     166                CFFList secondFactor = CantorZassenhausFactorFFGF( f/f1, s, q, gen );
     167                return Union( firstFactor, secondFactor );
     168            }
    164169        }
    165170    }
     
    178183        b = randomPoly( d, x, gen );
    179184        f1 = gcd( b, f );
    180         if ( (d1 = f1.degree(x)) > 0 && d1 < d )
    181             return Union( CantorZassenhausFactorExt( f1, s, q, gen ), CantorZassenhausFactorExt( f/f1, s, q, gen ) );
    182         else {
     185        if ( (d1 = f1.degree(x)) > 0 && d1 < d ) {
     186            CFFList firstFactor = CantorZassenhausFactorExt( f1, s, q, gen );
     187            CFFList secondFactor = CantorZassenhausFactorExt( f/f1, s, q, gen );
     188            return Union( firstFactor, secondFactor );
     189        } else {
    183190            f1 = gcd( f, powerMod2( b, q, s, f ) - 1 );
    184             if ( (d1 = f1.degree(x)) > 0 && d1 < d )
    185                 return Union( CantorZassenhausFactorExt( f1, s, q, gen ), CantorZassenhausFactorExt( f/f1, s, q, gen ) );
     191            if ( (d1 = f1.degree(x)) > 0 && d1 < d ) {
     192                CFFList firstFactor = CantorZassenhausFactorExt( f1, s, q, gen );
     193                CFFList secondFactor = CantorZassenhausFactorExt( f/f1, s, q, gen );
     194                return Union( firstFactor, secondFactor );
     195            }
    186196        }
    187197    }
Note: See TracChangeset for help on using the changeset viewer.