Changeset 058832 in git
- Timestamp:
- Feb 2, 2018, 12:07:43 PM (6 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- bdba4c7aea5d095e5600cd49b599f5a54db626ba
- Parents:
- 68395808f4180002f73bcf7dd2f2447899b0d8650756dfbab9f76c7f0d53379f68521798673c6ff0
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2018-02-02 12:07:43+01:00
- git-committer:
- GitHub <noreply@github.com>2018-02-02 12:07:43+01:00
- Files:
-
- 6 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/ncfactor.lib
r0756df r058832 10474 10474 - We have n parameters q_1,..., q_n given. 10475 10475 10476 SEE ALSO: homogfac NthWeyl, homogfacFirstQWeyl, homogfacFirstQWeyl_all10476 SEE ALSO: homogfacFirstQWeyl, homogfacFirstQWeyl_all 10477 10477 " 10478 10478 {//proc homogfacNthQWeyl_all -
Singular/dyn_modules/syzextra/syzextra.cc
r0756df r058832 62 62 #endif 63 63 64 #ifndef SING_NDEBUG 65 ring SBucketFactory::_GetBucketRing(const SBucketFactory::Bucket& bt) 66 { 64 SBucketFactory::Bucket SBucketFactory::_CreateBucket(const ring r) 65 { 66 const Bucket bt = sBucketCreate(r); 67 67 68 assume( bt != NULL ); 68 return sBucketGetRing(bt);69 }70 71 bool SBucketFactory::_IsBucketEmpty(const SBucketFactory::Bucket& bt)72 {73 assume( bt != NULL );74 return sIsEmpty(bt);75 }76 #endif77 78 SBucketFactory::Bucket SBucketFactory::_CreateBucket(const ring r)79 {80 const Bucket bt = sBucketCreate(r);81 82 assume( bt != NULL );83 assume( _IsBucketEmpty(bt) );84 assume( r == _GetBucketRing(bt) );85 86 69 return bt; 87 70 } … … 91 74 if( bt != NULL ) 92 75 { 93 assume( _IsBucketEmpty(bt) );94 76 sBucketDestroy( &bt ); 95 77 bt = NULL; … … 1482 1464 CLeadingTerm::CLeadingTerm(unsigned int _label, const poly _lt, const ring R): 1483 1465 m_sev( p_GetShortExpVector(_lt, R) ), m_label( _label ), m_lt( _lt ) 1484 #ifndef SING_NDEBUG 1485 , _R(R), m_lt_copy( myp_Head(_lt, true, R) ) // note that p_LmEqual only tests exponents! 1486 #endif 1487 { 1488 #ifndef SING_NDEBUG 1489 assume( pNext(m_lt_copy) == NULL ); 1490 #endif 1466 { 1491 1467 assume( sev() == p_GetShortExpVector(lt(), R) ); 1492 1468 } 1493 1494 #ifndef SING_NDEBUG1495 CLeadingTerm::~CLeadingTerm()1496 {1497 assume( p_LmEqual(m_lt, m_lt_copy, _R) );1498 assume( m_sev == p_GetShortExpVector(m_lt, _R) );1499 1500 poly p = const_cast<poly>(m_lt_copy);1501 p_Delete(&p, _R);1502 }1503 poly CLeadingTerm::lt() const1504 {1505 assume( p_LmEqual(m_lt, m_lt_copy, _R) );1506 assume( m_sev == p_GetShortExpVector(m_lt, _R) );1507 return m_lt;1508 }1509 1510 unsigned long CLeadingTerm::sev() const1511 {1512 assume( p_LmEqual(m_lt, m_lt_copy, _R) );1513 assume( m_sev == p_GetShortExpVector(m_lt, _R) );1514 return m_sev;1515 }1516 1517 unsigned int CLeadingTerm::label() const1518 {1519 assume( p_LmEqual(m_lt, m_lt_copy, _R) );1520 assume( m_sev == p_GetShortExpVector(m_lt, _R) );1521 return m_label;1522 }1523 #endif1524 1525 1526 1469 1527 1470 CReducerFinder::~CReducerFinder() … … 1634 1577 assume( (p_GetComp(lt(), r) == p_GetComp(product, r)) || (p_GetComp(lt(), r) == 0) ); 1635 1578 1636 #ifndef SING_NDEBUG1637 assume( r == _R );1638 #endif1639 1640 1579 // const int k = label(); 1641 1580 // assume( m_L->m[k] == p ); … … 1665 1604 // const int k = label(); 1666 1605 // assume( m_L->m[k] == p ); 1667 1668 #ifndef SING_NDEBUG1669 assume( r == _R );1670 #endif1671 1606 1672 1607 if (sev() & not_sev) … … 1771 1706 1772 1707 1773 1774 1708 bool CReducerFinder::IsDivisible(const poly product) const 1775 1709 { … … 1784 1718 return itr.MoveNext(); 1785 1719 1786 /* 1787 const ring& r = m_rBaseRing; 1788 1789 const long comp = p_GetComp(product, r); 1790 const unsigned long not_sev = ~p_GetShortExpVector(product, r); 1791 1792 assume( comp >= 0 ); 1793 1794 CReducersHash::const_iterator it = m_hash.find(comp); // same module component 1795 1796 assume( m_L != NULL ); 1797 1798 if( it == m_hash.end() ) 1799 return false; 1800 // assume comp! 1801 1802 const TReducers& reducers = it->second; 1803 1804 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ ) 1805 { 1806 assume( (*vit)->CheckLT( m_L ) ); 1807 1808 if( (*vit)->DivisibilityCheck(product, not_sev, r) ) 1809 { 1810 return true; 1811 } 1812 } 1813 1814 return false; 1815 */ 1816 } 1817 1818 1819 #ifndef SING_NDEBUG 1820 void CReducerFinder::Verify() const 1821 { 1822 const ring& r = m_rBaseRing; 1823 1824 for( CReducersHash::const_iterator it = m_hash.begin(); it != m_hash.end(); it++) 1825 { 1826 const TReducers& reducers = it->second; 1827 1828 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ ) 1829 { 1830 assume( (*vit)->CheckLT( m_L ) ); 1831 1832 const poly p = (*vit)->lt(); 1833 1834 const unsigned long p_sev = (*vit)->sev(); 1835 assume( p_sev == p_GetShortExpVector(p, r) ); 1836 1837 assume( p_GetComp(p, r) == it->first ); 1838 1839 const int k = (*vit)->label(); 1840 assume( m_L->m[k] == p ); 1841 1842 pp_Test(p, r, r); 1843 } 1844 } 1845 } 1846 1847 1848 1849 void CReducerFinder::DebugPrint() const 1850 { 1851 const ring& r = m_rBaseRing; 1852 1853 for( CReducersHash::const_iterator it = m_hash.begin(); it != m_hash.end(); it++) 1854 { 1855 Print("Hash Key: %ld, Values: \n", it->first); 1856 const TReducers& reducers = it->second; 1857 1858 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ ) 1859 { 1860 assume( (*vit)->CheckLT( m_L ) ); 1861 1862 const int k = (*vit)->label(); 1863 const poly p = (*vit)->lt(); 1864 1865 pp_Test(p, r, r); 1866 1867 assume( m_L->m[k] == p ); 1868 1869 const unsigned long p_sev = (*vit)->sev(); 1870 assume( p_sev == p_GetShortExpVector(p, r) ); 1871 1872 assume( p_GetComp(p, r) == it->first ); 1873 1874 Print("L[%d]: ", k); Print("SEV: %ld\n", p_sev); 1875 1876 assume( m_L->m[k] == p ); 1877 } 1878 } 1879 } 1880 #endif 1720 } 1881 1721 1882 1722 #if NOPRODUCT … … 1918 1758 p_Test(m, m_rBaseRing); 1919 1759 1920 // assume( p_GetComp(m_multiplier, m_rBaseRing) == 0 );1921 1760 } 1922 1761 … … 2068 1907 } 2069 1908 1909 p_LmFree(q, r); 1910 1911 p_Test(multiplier, r); 1912 1913 return NULL; 1914 1915 } 1916 #endif 1917 1918 1919 poly CReducerFinder::FindReducer(const poly product, const poly syzterm, const CReducerFinder& syz_checker) const 1920 { 1921 CDivisorEnumerator itr(*this, product); 1922 if( !itr.Reset() ) 1923 return NULL; 1924 1925 1926 1927 const ring& r = m_rBaseRing; 1928 1929 assume( product != NULL ); 1930 1931 const ideal& L = m_L; assume( L != NULL ); // for debug/testing only! 1932 1933 long c = 0; 1934 1935 if (syzterm != NULL) 1936 c = p_GetComp(syzterm, r) - 1; 1937 1938 assume( c >= 0 && c < IDELEMS(L) ); 1939 1940 const BOOLEAN to_check = (syz_checker.IsNonempty()); // OPT__TAILREDSYZ && 1941 1942 const poly q = p_New(r); pNext(q) = NULL; 1943 1944 while( itr.MoveNext() ) 1945 { 1946 assume( itr.Current().CheckLT( L ) ); // ??? 1947 1948 const poly p = itr.Current().lt(); // ?? 1949 const int k = itr.Current().label(); 1950 1951 p_ExpVectorDiff(q, product, p, r); // (LM(product) / LM(L[k])) 1952 p_SetComp(q, k + 1, r); 1953 p_Setm(q, r); 1954 1955 // cannot allow something like: a*gen(i) - a*gen(i) 1956 if (syzterm != NULL && (k == c)) 1957 if (p_ExpVectorEqual(syzterm, q, r)) 1958 { 1959 assume( itr.Current().CheckLT( L ) ); // ??? 1960 continue; 1961 } 1962 1963 // while the complement (the fraction) is not reducible by leading syzygies 1964 if( to_check && syz_checker.IsDivisible(q) ) // ????? 1965 { 1966 assume( itr.Current().CheckLT( L ) ); // ??? 1967 continue; 1968 } 1969 1970 1971 #if NODIVISION 1972 assume( n_IsOne(p_GetCoeff(p, r), r->cf) ); 1973 p_SetCoeff0(q, n_InpNeg( n_Copy(pGetCoeff(product), r->cf), r->cf), r); 1974 #else 1975 p_SetCoeff0(q, n_InpNeg( n_Div( pGetCoeff(product), p_GetCoeff(p), r->cf), r->cf), r); 1976 #endif 1977 1978 assume( itr.Current().CheckLT( L ) ); // ??? 1979 return q; 1980 } 1981 1982 1983 2070 1984 /* 2071 const long comp = p_GetComp(t, r); assume( comp >= 0 ); 2072 const unsigned long not_sev = ~p_GetShortExpVector(multiplier, t, r); // ! 1985 const long comp = p_GetComp(product, r); 1986 const unsigned long not_sev = ~p_GetShortExpVector(product, r); 1987 1988 assume( comp >= 0 ); 2073 1989 2074 1990 // for( int k = IDELEMS(L)-1; k>= 0; k-- ) … … 2087 2003 return NULL; 2088 2004 2089 // assume comp!2090 2091 2005 assume( m_L != NULL ); 2092 2006 2093 2007 const TReducers& reducers = it->second; 2094 2008 2009 const BOOLEAN to_check = (syz_checker.IsNonempty()); // OPT__TAILREDSYZ && 2010 2011 const poly q = p_New(r); pNext(q) = NULL; 2012 2095 2013 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ ) 2096 2014 { 2097 2098 const poly p = (*vit)->lt(); // ?? 2015 const poly p = (*vit)->lt(); // ??? 2016 2017 assume( p_GetComp(p, r) == comp ); 2018 2099 2019 const int k = (*vit)->label(); 2100 2020 2101 2021 assume( L->m[k] == p ); // CheckLT 2102 2022 2103 // const unsigned long p_sev = (*vit)->sev(); 2104 // assume( p_sev == p_GetShortExpVector(p, r) ); 2105 2106 // if( !p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r) ) 2107 // continue; 2108 2109 if( !(*vit)->DivisibilityCheck(multiplier, t, not_sev, r) ) 2023 const unsigned long p_sev = (*vit)->sev(); 2024 2025 assume( p_sev == p_GetShortExpVector(p, r) ); 2026 2027 if( !p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r) ) 2110 2028 continue; 2111 2029 2112 2113 // if (p_sev & not_sev) continue; 2114 // if( !_p_LmDivisibleByNoComp(p, multiplier, t, r) ) continue; 2115 2116 2117 p_ExpVectorSum(q, multiplier, t, r); // q == product == multiplier * t 2118 p_ExpVectorDiff(q, q, p, r); // (LM(product) / LM(L[k])) 2119 2030 // // ... which divides the product, looking for the _1st_ appropriate one! 2031 // if( !p_LmDivisibleByNoComp(p, product, r) ) // included inside p_LmShortDivisibleBy! 2032 // continue; 2033 2034 p_ExpVectorDiff(q, product, p, r); // (LM(product) / LM(L[k])) 2120 2035 p_SetComp(q, k + 1, r); 2121 2036 p_Setm(q, r); … … 2134 2049 } 2135 2050 2136 number n = n_Mult( p_GetCoeff(multiplier, r), p_GetCoeff(t, r), r);2137 p_SetCoeff0(q, n_InpNeg( n_Div(n, p_GetCoeff(p, r), r), r), r);2138 n_Delete(&n, r);2139 2140 return q;2141 }2142 */2143 2144 p_LmFree(q, r);2145 2146 p_Test(multiplier, r);2147 2148 return NULL;2149 2150 }2151 #endif2152 2153 2154 poly CReducerFinder::FindReducer(const poly product, const poly syzterm, const CReducerFinder& syz_checker) const2155 {2156 CDivisorEnumerator itr(*this, product);2157 if( !itr.Reset() )2158 return NULL;2159 2160 2161 2162 const ring& r = m_rBaseRing;2163 2164 assume( product != NULL );2165 2166 const ideal& L = m_L; assume( L != NULL ); // for debug/testing only!2167 2168 long c = 0;2169 2170 if (syzterm != NULL)2171 c = p_GetComp(syzterm, r) - 1;2172 2173 assume( c >= 0 && c < IDELEMS(L) );2174 2175 const BOOLEAN to_check = (syz_checker.IsNonempty()); // OPT__TAILREDSYZ &&2176 2177 const poly q = p_New(r); pNext(q) = NULL;2178 2179 while( itr.MoveNext() )2180 {2181 assume( itr.Current().CheckLT( L ) ); // ???2182 2183 const poly p = itr.Current().lt(); // ??2184 const int k = itr.Current().label();2185 2186 p_ExpVectorDiff(q, product, p, r); // (LM(product) / LM(L[k]))2187 p_SetComp(q, k + 1, r);2188 p_Setm(q, r);2189 2190 // cannot allow something like: a*gen(i) - a*gen(i)2191 if (syzterm != NULL && (k == c))2192 if (p_ExpVectorEqual(syzterm, q, r))2193 {2194 assume( itr.Current().CheckLT( L ) ); // ???2195 continue;2196 }2197 2198 // while the complement (the fraction) is not reducible by leading syzygies2199 if( to_check && syz_checker.IsDivisible(q) ) // ?????2200 {2201 assume( itr.Current().CheckLT( L ) ); // ???2202 continue;2203 }2204 2205 2206 #if NODIVISION2207 assume( n_IsOne(p_GetCoeff(p, r), r->cf) );2208 p_SetCoeff0(q, n_InpNeg( n_Copy(pGetCoeff(product), r->cf), r->cf), r);2209 #else2210 p_SetCoeff0(q, n_InpNeg( n_Div( pGetCoeff(product), p_GetCoeff(p), r->cf), r->cf), r);2211 #endif2212 2213 assume( itr.Current().CheckLT( L ) ); // ???2214 return q;2215 }2216 2217 2218 2219 /*2220 const long comp = p_GetComp(product, r);2221 const unsigned long not_sev = ~p_GetShortExpVector(product, r);2222 2223 assume( comp >= 0 );2224 2225 // for( int k = IDELEMS(L)-1; k>= 0; k-- )2226 // {2227 // const poly p = L->m[k];2228 //2229 // if ( p_GetComp(p, r) != comp )2230 // continue;2231 //2232 // const unsigned long p_sev = p_GetShortExpVector(p, r); // to be stored in m_hash!!!2233 2234 // looking for an appropriate diviser p = L[k]...2235 CReducersHash::const_iterator it = m_hash.find(comp); // same module component2236 2237 if( it == m_hash.end() )2238 return NULL;2239 2240 assume( m_L != NULL );2241 2242 const TReducers& reducers = it->second;2243 2244 const BOOLEAN to_check = (syz_checker.IsNonempty()); // OPT__TAILREDSYZ &&2245 2246 const poly q = p_New(r); pNext(q) = NULL;2247 2248 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ )2249 {2250 const poly p = (*vit)->lt(); // ???2251 2252 assume( p_GetComp(p, r) == comp );2253 2254 const int k = (*vit)->label();2255 2256 assume( L->m[k] == p ); // CheckLT2257 2258 const unsigned long p_sev = (*vit)->sev();2259 2260 assume( p_sev == p_GetShortExpVector(p, r) );2261 2262 if( !p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r) )2263 continue;2264 2265 // // ... which divides the product, looking for the _1st_ appropriate one!2266 // if( !p_LmDivisibleByNoComp(p, product, r) ) // included inside p_LmShortDivisibleBy!2267 // continue;2268 2269 p_ExpVectorDiff(q, product, p, r); // (LM(product) / LM(L[k]))2270 p_SetComp(q, k + 1, r);2271 p_Setm(q, r);2272 2273 // cannot allow something like: a*gen(i) - a*gen(i)2274 if (syzterm != NULL && (k == c))2275 if (p_ExpVectorEqual(syzterm, q, r))2276 {2277 continue;2278 }2279 2280 // while the complement (the fraction) is not reducible by leading syzygies2281 if( to_check && syz_checker.IsDivisible(q) )2282 {2283 continue;2284 }2285 2286 2051 p_SetCoeff0(q, n_InpNeg( n_Div( p_GetCoeff(product, r), p_GetCoeff(p, r), r), r), r); 2287 2052 return q; … … 2292 2057 return NULL; 2293 2058 } 2294 2295 2059 2296 2060 … … 2346 2110 } 2347 2111 2348 CCacheCompare::CCacheCompare(): m_ring(currRing) {} 2349 2350 2351 template class std::vector<bool>; 2352 template class std::vector<CLeadingTerm const*>; 2353 template class std::map< CReducerFinder::TComponentKey, CReducerFinder::TReducers >; 2354 2355 template class std::map<TCacheKey, TCacheValue, struct CCacheCompare>; 2356 template class std::map<int, TP2PCache>; 2357 2358 template class std::stack <sBucket_pt>; 2112 2113 2114 2359 2115 2360 2116 // Vi-modeline: vim: filetype=c:syntax:shiftwidth=2:tabstop=8:textwidth=0:expandtab -
Singular/dyn_modules/syzextra/syzextra.h
r0756df r058832 71 71 private: 72 72 typedef std::stack <sBucket_pt> Base; 73 // typedef std::vector<Bucket> Memory;74 // typedef std::deque <Bucket> Memory;75 // typedef std::stack <Bucket, Memory > Base;76 73 77 74 public: … … 79 76 80 77 SBucketFactory(const ring r) 81 #ifndef SING_NDEBUG82 : m_ring(r)83 #endif84 78 { 85 79 push ( _CreateBucket(r) ); // start with at least one sBucket...? … … 98 92 Bucket getBucket(const ring r, const bool remove = true) 99 93 { 100 assume( r == m_ring );101 102 94 Bucket bt = NULL; 103 95 … … 121 113 122 114 assume( bt != NULL ); 123 assume( _IsBucketEmpty(bt) );124 assume( r == _GetBucketRing(bt) );125 115 126 116 return bt; … … 131 121 { 132 122 assume( bt != NULL ); 133 assume( _IsBucketEmpty(bt) );134 assume( m_ring == _GetBucketRing(bt) );135 123 136 124 if( empty() ) … … 151 139 152 140 private: 153 154 #ifndef SING_NDEBUG155 const ring m_ring; ///< For debugging: all buckets are over the same ring... right?!156 157 /// get bucket ring158 static ring _GetBucketRing(const Bucket& bt);159 160 static bool _IsBucketEmpty(const Bucket& bt);161 #endif162 163 141 /// inital allocation for new buckets 164 142 static Bucket _CreateBucket(const ring r); … … 258 236 CLeadingTerm(unsigned int label, const poly lt, const ring); 259 237 260 #ifndef SING_NDEBUG261 ~CLeadingTerm();262 #endif263 264 238 #if NOPRODUCT 265 239 bool DivisibilityCheck(const poly multiplier, const poly t, const unsigned long not_sev, const ring r) const; … … 269 243 bool CheckLT( const ideal & L ) const; 270 244 271 #ifndef SING_NDEBUG272 poly lt() const;273 unsigned long sev() const;274 unsigned int label() const;275 #else276 245 inline poly lt() const { return m_lt; }; 277 246 inline unsigned long sev() const { return m_sev; }; 278 247 inline unsigned int label() const { return m_label; }; 279 #endif280 281 248 private: 282 249 const unsigned long m_sev; ///< not short exp. vector … … 286 253 287 254 const poly m_lt; ///< the leading term itself L[label-1] 288 289 #ifndef SING_NDEBUG290 const ring _R;291 292 const poly m_lt_copy; ///< original copy of LEAD(lt) (only for debug!!!)293 #endif294 255 295 256 // disable the following: … … 340 301 /// is the term to be "preprocessed" as lower order term or lead to only reducible syzygies... 341 302 int PreProcessTerm(const poly t, CReducerFinder& syzChecker) const; 342 343 #ifndef SING_NDEBUG344 void DebugPrint() const;345 void Verify() const;346 #endif347 303 348 304 private: … … 525 481 CReducerFinder m_checker; 526 482 527 /*528 // need more data here:529 // (m_idLeads : m_tailterm) = (m, pos, compl), s.th: compl * m_tailterm divides m_idLeads[pos]530 // but resulting sysygy compl * gen(pos) should not be in531 // Idea: extend CReducerFinder??!!532 struct CTailTerm533 {534 const poly m_tailterm;535 536 const CReducerFinder m_reducers; // positions are labels (in m_idLeads)...537 // compl - to be computed if needed?538 539 CTailTerm(const poly tt, const CReducerFinder reds): m_tailterm(tt), m_reducers(reds) {}540 };541 542 typedef std::vector<const CTailTerm*> TTail;543 typedef std::vector<TTail> TTailTerms;544 545 TTailTerms m_idTailTerms;546 */547 548 483 mutable TCache m_cache; // cacher comp + poly -> poly! // mutable??? 549 550 /// TODO: look into m_idTailTerms!!!!!!!!!!!!!!!!!!!!!!!! map? heaps???551 // NOTE/TODO: the following globally shared buckets violate reentrance - they should rather belong to TLS!552 484 553 485 /// used for simple summing up -
Singular/links/pipeLink.cc
r0756df r058832 90 90 if (d!=NULL) 91 91 { 92 if (d->f_read!=NULL) fclose(d->f_read); 93 if (d->f_write!=NULL) fclose(d->f_write); 94 if (d->pid!=0) { kill(d->pid,15); kill(d->pid,9); } 95 } 96 SI_LINK_SET_CLOSE_P(l); 92 BOOLEAN unidirectional=TRUE; 93 if ( (d->f_read!=NULL) && (d->f_write!=NULL)) 94 unidirectional=FALSE; 95 96 if (d->f_read!=NULL) 97 { 98 fclose(d->f_read); 99 d->f_read=NULL; 100 SI_LINK_SET_CLOSE_P(l); 101 SI_LINK_SET_R_OPEN_P(l); 102 } 103 if (unidirectional && (d->f_write!=NULL)) 104 { 105 fclose(d->f_write); 106 d->f_write=NULL; 107 SI_LINK_SET_CLOSE_P(l); 108 } 109 if (unidirectional && (d->pid!=0)) 110 { kill(d->pid,15); kill(d->pid,9); } 111 } 112 else SI_LINK_SET_CLOSE_P(l); 97 113 return FALSE; 98 114 } -
Tst/Manual/minres_BR_PLURAL_BR.res.gz.uu
r0756df r058832 1 1 begin 640 minres_BR_PLURAL_BR.res.gz 2 M'XL(" #4J<DX``VUI;G)E<U]"4E]03%5204Q?0E(N<F5S`+U438O;,!"]ZU<,3 M H0>[CK.VW,^X%F0IAH6DE-WF5()Q&CD659P2:2GMK^_8EF0[A>VAM#I8SYIY4 M 3]+,0P^?WM]]`("8P?KN%F9:Z844^UD*B`K1".WY*6EG8`Q.HKEP5=S>%Q_75 M V_O5&M&BX=\72I>:/!@I:J2:+Z4\]F(NEC`X\`I6D,&I_,JW2M)6WX9?,%!<6 M 7T1SA%4*-S>@:Z$`9?C^4@+"K:=D07U'>,E`''@I061\7LWK0>H51C*E#YX87 M Z;]F@.<_RT<MS@WD67L;3\PC/X4\)1!#-Y+)9!;)"MZ%(<#51$@T2:,3+AGM8 M UIQU6S]Q$C_Y`7YP3=RQWC"00FF0.=8E3W%.R>=XMR08*Q!D=8_H+JMZE.PR9 M 3O!_2*F>'WGCQ7Y8=X#Z(37`<?DT)?$#:L`@:LF5B80]A6!PV,L)528]L(KN10 M 2F\9?,,^:F_/M1:>S/TYS#H\PW[`,*)1]?KB)21\<G3L:#GBA:.:QW]BZ[,N11 M Y9@=3=CV!G$T\<HFSWKS>SF:!7__B5W<YK%UQ,9:8G/MB6KHZ]0)(;=>""KK12 M @8#6=HT:X.@AMTL!OVKHV$5/.\"=G%XU?O,?.F^^73A>_A:@?V4,RW8WQ#>L13 4?1O;-^]180W29^07E+[_F$8%````2 M'XL("$;+<5H"`VUI;G)E<U]"4E]03%5204Q?0E(N<F5S`+U476O;,!1]UZ^X 3 MA#W8<Y3:\M9N\2Q(&89",D;;/)5@G$6.Q11G1"IC^_63;4G^&'0/A>G!]UA7 4 MYTBZ]Z"'Q\]W7P`@HK"^NX69DFHA^'Z6@$8YK[GR_`0U$2B%$Z\O3.:W]_G7 5 M]?9^M=9H4;.?"ZD*A1Z,%#%2];="'#LQEXLI'%@)*TCA5'QG6RE(HV_3[RA( 6 MIBZ\/L(J@:LK4!67H&78_E*`AEM/BISXCO">`C^P0@!/V;R<5[W4M<ZD4AT\ 7 M/M"_H:#/?Q;/BI]KR-+F-AZ?AWX"68(@@G;$HV`FT0H^80PP"0B%HV5DQ$6# 8 MW>JS:NK'3_PW.\`OII`[U@<*@DL%(M-UR1(=$_04[99(YW(-TJI#9)>6'8IW 9 M*4/ZOU]2OCVRVHM\7+6`^)@8X+ALO"3V`V)`+VK)I<G@CH)TLM_+"95F>6`5 10 MW94^4OBA^ZB\/5.*>R+SYS!K\4SW`_H1#JK7%2]&^,71LL/E@(<'-8_^Q59G 11 M58@A.QRQ[0VB<.25399VYO<R;1;]V]N%C,*K[.(VCZPC-M82FZDGRKZO8R=@ 12 M9KT0E-8#`:GL'#'`T3&S4P&;-'3HHI<=X$Y.)HW?_(?.FV^;CI9_)<BKC$&F 13 8QM!O6/,V-F_>L]0U2-Z@/[GAZK5&!0`` 14 14 ` 15 15 end -
Tst/Manual/minres_BR_PLURAL_BR.stat
r0756df r058832 1 1 >> tst_memory_0 :: 1 316104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:2289162 1 >> tst_memory_1 :: 1 316104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:6663323 1 >> tst_memory_2 :: 1 316104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:6991164 1 >> tst_timer_1 :: 1 316104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:181 1 >> tst_memory_0 :: 1517407046:4104, 64 bit:4.1.0:x86_64-Linux:nepomuck:179040 2 1 >> tst_memory_1 :: 1517407046:4104, 64 bit:4.1.0:x86_64-Linux:nepomuck:2215936 3 1 >> tst_memory_2 :: 1517407046:4104, 64 bit:4.1.0:x86_64-Linux:nepomuck:2215936 4 1 >> tst_timer_1 :: 1517407046:4104, 64 bit:4.1.0:x86_64-Linux:nepomuck:5 -
Tst/Short/ok_s.lst
r0756df r058832 12 12 bug_newstruct3 13 13 bug_normalize 14 bug_printres 14 15 bug_qring2 15 16 bug_ring 16 17 bug_ringlist 18 bug_sca 17 19 bug_solve 18 20 bug_ssi_algring -
doc/COPYING.texi
r0756df r058832 125 125 @uref{http://www.4ti2.de/} 126 126 @item gfan (used by tropical.lib, @pxref{tropical_lib}) 127 @uref{http:// www.math.tu-berlin.de/~jensen/software/gfan/gfan.html}127 @uref{http://home.imf.au.dk/jensen/software/gfan/gfan.html} 128 128 @item graphviz (used by resgraph.lib, @pxref{resgraph_lib}) 129 129 @uref{http://www.graphviz.org/} … … 133 133 @item polymake (used by polymake.lib, @pxref{polymake_lib}) 134 134 @copyright{} Ewgenij Gawrilow and Michael Joswig 135 @* @uref{http:// www.polymake.de/}135 @* @uref{http://polymake.org/} 136 136 @item surf (used by surf.lib, @pxref{surf_lib}) 137 137 @copyright{} Stephan Endrass … … 141 141 @item surfex (used by surfex.lib, @pxref{surfex_lib}) 142 142 @copyright{} Oliver Labs (2001-2008), Stephan Holzer (2004-2005) 143 @* @uref{http ://surfex.AlgebraicSurface.net}143 @* @uref{https://github.com/Singular/Sources/tree/spielwiese/Singular/LIB/surfex} 144 144 @item TOPCOM (used by polymake.lib, @pxref{polymake_lib}) 145 145 @copyright{} J@"org Rambau … … 317 317 to the @sc{Singular} project. 318 318 319 @sc{Singular} is supported by Project B5 of SFB-TRR 195 'Symbolic Tools in 320 Mathematics and their Application'. 321 -
kernel/GBEngine/syz1.cc
r0756df r058832 2397 2397 if (syzstr->minres==NULL) 2398 2398 { 2399 if (syzstr->resolution!=NULL) 2400 { 2401 // need to clear syzstr->resolution, as we are 2402 // now displaying the minres instead of fullres 2403 delete syzstr->resolution; 2404 syzstr->resolution=NULL; 2405 } 2399 2406 if (syzstr->resPairs!=NULL) 2400 2407 { -
libpolys/coeffs/ffields.cc
r683958 r058832 807 807 if (n==n_GF) { 808 808 GFInfo* p = (GFInfo *)(parameter); 809 int c = pow (p->GFChar, p->GFDegree);809 int c = std::pow (p->GFChar, p->GFDegree); 810 810 if ((c == r->m_nfCharQ) && (strcmp(n_ParameterNames(r)[0], p->GFPar_name) == 0)) 811 811 return TRUE; … … 928 928 } 929 929 930 int c = pow (p->GFChar, p->GFDegree);930 int c = std::pow (p->GFChar, p->GFDegree); 931 931 932 932 nfReadTable(c, r); -
libpolys/polys/monomials/p_polys.h
r0756df r058832 1471 1471 ev[0] = p_GetComp(p, r); 1472 1472 } 1473 // p_GetExpVL is used in Singular,jl 1473 1474 static inline void p_GetExpVL(poly p, int64 *ev, const ring r) 1474 1475 { … … 1486 1487 p_Setm(p, r); 1487 1488 } 1489 // p_SetExpVL is used in Singular,jl 1488 1490 static inline void p_SetExpVL(poly p, int64 *ev, const ring r) 1489 1491 { -
libpolys/polys/nc/sca.cc
r0756df r058832 1083 1083 // to be within quotient ideal. 1084 1084 1085 bool bSCA = true;1086 1087 1085 int b = N+1; 1088 1086 int e = -1; … … 1098 1096 } 1099 1097 1100 for ( int i = iAltVarStart; (i <= iAltVarEnd) && bSCA; i++ )1098 for ( int i = iAltVarStart; (i <= iAltVarEnd); i++ ) 1101 1099 if( (i < b) || (i > e) ) // otherwise it's ok since rG is an SCA! 1102 1100 { … … 1112 1110 { 1113 1111 p_Delete(&square, rG); 1114 bSCA = false; 1115 break; 1112 return false; 1116 1113 } 1117 1114 }
Note: See TracChangeset
for help on using the changeset viewer.