Changeset 6dccbc in git for kernel/prCopy.cc
- Timestamp:
- Jun 5, 2009, 7:16:07 AM (15 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- c6b84991198316580f29110f1b17042b0cbfd434
- Parents:
- 51d7f7bf9e26957b6f4bfed8b88ec964eb69f77a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/prCopy.cc
r51d7f7b r6dccbc 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: prCopy.cc,v 1. 3 2007-09-17 08:33:17 SingularExp $ */4 /* $Id: prCopy.cc,v 1.4 2009-06-05 05:16:07 motsak Exp $ */ 5 5 /* 6 6 * ABSTRACT - implementation of functions for Copy/Move/Delete for Polys … … 87 87 else 88 88 res = pr_Move_NoREqual_NoNSimple_NoSort(p, src_r, dest_r); 89 p_Test(res, dest_r); 89 p_Test(res, dest_r); 90 90 return res; 91 91 } … … 113 113 head = prproc(q, src_r, dest_r); 114 114 pNext(p) = tail; 115 116 p_Test(p, src_r); 117 p_Test(head, dest_r); 118 115 119 return head; 116 120 } … … 119 123 { 120 124 prCopyProc_t prproc; 121 if (rField_has_simple_Alloc(dest_r)) 125 if (rField_has_simple_Alloc(dest_r)) 122 126 prproc = pr_Copy_NoREqual_NSimple_NoSort; 123 127 else 124 prproc = pr_Copy_NoREqual_NoNSimple_NoSort; 125 126 return prHeadR(p, src_r, dest_r, prproc); 128 prproc = pr_Copy_NoREqual_NoNSimple_NoSort; 129 130 const poly res = prHeadR(p, src_r, dest_r, prproc); 131 p_Test(res, dest_r); 132 return res; 127 133 } 128 134 129 135 ///////////////////////////////////////////////////////////////////////// 130 136 // idrCopy 137 /// Copy leading terms of id[i] via prHeeadR into dest_r 138 ideal idrHeadR(ideal id, ring r, ring dest_r) 139 { 140 if (id == NULL) return NULL; 141 142 prCopyProc_t prproc = pr_Copy_NoREqual_NoNSimple_NoSort; 143 if (rField_has_simple_Alloc(dest_r)) 144 prproc = pr_Copy_NoREqual_NSimple_NoSort; 145 146 const int N = IDELEMS(id); 147 ideal res = idInit(N, id->rank); 148 149 for (int i = N - 1; i >= 0; i--) 150 res->m[i] = prHeadR(id->m[i], r, dest_r, prproc); // !!! 151 152 return res; 153 } 154 155 156 131 157 static inline ideal 132 158 idrCopy(ideal id, ring src_r, ring dest_r, prCopyProc_t prproc) … … 150 176 ideal res; 151 177 prCopyProc_t prproc; 152 if (rField_has_simple_Alloc(dest_r)) 178 if (rField_has_simple_Alloc(dest_r)) 153 179 prproc = pr_Copy_REqual_NSimple_NoSort; 154 180 else … … 162 188 ideal res; 163 189 prCopyProc_t prproc; 164 if (rField_has_simple_Alloc(dest_r)) 190 if (rField_has_simple_Alloc(dest_r)) 165 191 prproc = pr_Copy_NoREqual_NSimple_Sort; 166 192 else … … 169 195 return res; 170 196 } 171 197 172 198 ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r) 173 199 { 174 200 ideal res; 175 201 prCopyProc_t prproc; 176 if (rField_has_simple_Alloc(dest_r)) 202 if (rField_has_simple_Alloc(dest_r)) 177 203 prproc = pr_Copy_NoREqual_NSimple_NoSort; 178 204 else … … 188 214 return idrCopy(id, src_r, dest_r, pr_Copy_NoREqual_NSimple_Sort); 189 215 } 190 216 191 217 ideal idrShallowCopyR_NoSort(ideal id, ring src_r, ring dest_r) 192 218 { 193 219 return idrCopy(id, src_r, dest_r, pr_Copy_NoREqual_NSimple_NoSort); 194 220 } 195 221 196 222 ///////////////////////////////////////////////////////////////////////// 197 223 // idrMove … … 213 239 prCopyProc_t prproc; 214 240 ideal res; 215 if (rField_has_simple_Alloc(dest_r)) 241 if (rField_has_simple_Alloc(dest_r)) 216 242 prproc = pr_Move_NoREqual_NSimple_Sort; 217 243 else … … 220 246 return res; 221 247 } 222 248 223 249 ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r) 224 250 { 225 251 prCopyProc_t prproc; 226 252 ideal res; 227 if (rField_has_simple_Alloc(dest_r)) 253 if (rField_has_simple_Alloc(dest_r)) 228 254 prproc = pr_Move_NoREqual_NSimple_NoSort; 229 255 else … … 233 259 } 234 260 261
Note: See TracChangeset
for help on using the changeset viewer.