Changeset 6dccbc in git for kernel/prCopy.cc


Ignore:
Timestamp:
Jun 5, 2009, 7:16:07 AM (15 years ago)
Author:
Motsak Oleksandr <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
c6b84991198316580f29110f1b17042b0cbfd434
Parents:
51d7f7bf9e26957b6f4bfed8b88ec964eb69f77a
Message:
*motsak: +idrHeadR


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

Legend:

Unmodified
Added
Removed
  • kernel/prCopy.cc

    r51d7f7b r6dccbc  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: prCopy.cc,v 1.3 2007-09-17 08:33:17 Singular Exp $ */
     4/* $Id: prCopy.cc,v 1.4 2009-06-05 05:16:07 motsak Exp $ */
    55/*
    66* ABSTRACT - implementation of functions for Copy/Move/Delete for Polys
     
    8787  else
    8888    res =  pr_Move_NoREqual_NoNSimple_NoSort(p, src_r, dest_r);
    89   p_Test(res, dest_r); 
     89  p_Test(res, dest_r);
    9090  return res;
    9191}
     
    113113  head = prproc(q, src_r, dest_r);
    114114  pNext(p) = tail;
     115
     116  p_Test(p, src_r);
     117  p_Test(head, dest_r);
     118
    115119  return head;
    116120}
     
    119123{
    120124  prCopyProc_t prproc;
    121   if (rField_has_simple_Alloc(dest_r)) 
     125  if (rField_has_simple_Alloc(dest_r))
    122126    prproc = pr_Copy_NoREqual_NSimple_NoSort;
    123127  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;
    127133}
    128134
    129135/////////////////////////////////////////////////////////////////////////
    130136// idrCopy
     137/// Copy leading terms of id[i] via prHeeadR into dest_r
     138ideal 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
    131157static inline ideal
    132158idrCopy(ideal id, ring src_r, ring dest_r, prCopyProc_t prproc)
     
    150176  ideal res;
    151177  prCopyProc_t prproc;
    152   if (rField_has_simple_Alloc(dest_r)) 
     178  if (rField_has_simple_Alloc(dest_r))
    153179    prproc = pr_Copy_REqual_NSimple_NoSort;
    154180  else
     
    162188  ideal res;
    163189  prCopyProc_t prproc;
    164   if (rField_has_simple_Alloc(dest_r)) 
     190  if (rField_has_simple_Alloc(dest_r))
    165191    prproc = pr_Copy_NoREqual_NSimple_Sort;
    166192  else
     
    169195  return res;
    170196}
    171  
     197
    172198ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
    173199{
    174200  ideal res;
    175201  prCopyProc_t prproc;
    176   if (rField_has_simple_Alloc(dest_r)) 
     202  if (rField_has_simple_Alloc(dest_r))
    177203    prproc = pr_Copy_NoREqual_NSimple_NoSort;
    178204  else
     
    188214  return idrCopy(id, src_r, dest_r, pr_Copy_NoREqual_NSimple_Sort);
    189215}
    190  
     216
    191217ideal idrShallowCopyR_NoSort(ideal id, ring src_r, ring dest_r)
    192218{
    193219  return idrCopy(id, src_r, dest_r, pr_Copy_NoREqual_NSimple_NoSort);
    194220}
    195  
     221
    196222/////////////////////////////////////////////////////////////////////////
    197223// idrMove
     
    213239  prCopyProc_t prproc;
    214240  ideal res;
    215   if (rField_has_simple_Alloc(dest_r)) 
     241  if (rField_has_simple_Alloc(dest_r))
    216242    prproc = pr_Move_NoREqual_NSimple_Sort;
    217243  else
     
    220246  return res;
    221247}
    222  
     248
    223249ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)
    224250{
    225251  prCopyProc_t prproc;
    226252  ideal res;
    227   if (rField_has_simple_Alloc(dest_r)) 
     253  if (rField_has_simple_Alloc(dest_r))
    228254    prproc = pr_Move_NoREqual_NSimple_NoSort;
    229255  else
     
    233259}
    234260
     261
Note: See TracChangeset for help on using the changeset viewer.