Changeset 010f3b in git for libpolys/tests
- Timestamp:
- Jun 29, 2011, 5:54:28 PM (13 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- df43d9eede47de2604d4c0ff334af81427c1ec57
- Parents:
- de90c019d739dd11bb7004ab4f6d1147833c69bc
- git-author:
- Frank Seelisch <seelisch@mathematik.uni-kl.de>2011-06-29 17:54:28+02:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:39:10+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/tests/polys_test.h
rde90c01 r010f3b 231 231 TS_ASSERT( n_IsOne(n2, cf) ); 232 232 n_Delete(&n1, cf); n_Delete(&n2, cf); 233 } 234 /* assumes that cf represents a rational function field; 235 does NOT copy p, i.e. uses p directly inside the resulting number */ 236 number toFractionNumber(poly p, const coeffs cf) 237 { 238 number n = n_Init(1, cf); 239 fraction f = (fraction)n; 240 p_Delete(&(f->numerator), cf->extRing); 241 f->numerator = p; 242 return n; 233 243 } 234 244 void TestArithCf(const coeffs r) … … 933 943 Test(s); 934 944 945 /* some special tests: */ 946 poly v1 = NULL; 947 plusTerm(v1, 1, 1, 1, cf->extRing); // s 948 plusTerm(v1, 1, 1, 0, cf->extRing); // s + 1 949 poly v2 = NULL; 950 plusTerm(v2, 1, 1, 1, cf->extRing); // s 951 plusTerm(v2, 2, 2, 1, cf->extRing); // s + 2t 952 poly v = p_Mult_q(v1, v2, cf->extRing); // (s + 1) * (s + 2t) 953 number v_n = toFractionNumber(v, cf); 954 PrintSized(v_n, cf); 955 poly w = NULL; 956 plusTerm(w, 1, 1, 1, cf->extRing); // s 957 plusTerm(w, 1, 1, 0, cf->extRing); // s + 1 958 number w_n = toFractionNumber(w, cf); 959 PrintSized(w_n, cf); 960 number vOverW_n = n_Div(v_n, w_n, cf); 961 PrintSized(vOverW_n, cf); 962 number wOverV_n = n_Invers(vOverW_n, cf); 963 PrintSized(wOverV_n, cf); 964 number prod = n_Mult(vOverW_n, wOverV_n, cf); 965 PrintSized(prod, cf); 966 number tmp; number nn = n_Copy(vOverW_n, cf); 967 for (int i = 1; i <= 20; i++) 968 { 969 tmp = n_Div(nn, v_n, cf); 970 n_Delete(&nn, cf); 971 nn = tmp; 972 clog << i << ". "; PrintSized(nn, cf); 973 } 974 n_Delete(&prod, cf); n_Delete(&nn, cf); 975 n_Delete(&v_n, cf); n_Delete(&w_n, cf); 976 n_Delete(&vOverW_n, cf); n_Delete(&wOverV_n, cf); 977 935 978 rDelete(s); // kills 'cf' and 'r' as well 936 979 }
Note: See TracChangeset
for help on using the changeset viewer.