Changeset 61ef55 in git


Ignore:
Timestamp:
Apr 10, 2017, 12:25:43 PM (7 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
fd6436ff5d8b43e9c109225aa65e1ae0347088a1
Parents:
3c5f5fdf2c64b5ced7e254997007e96a6d07accc
Message:
fix: ssi: ring handling, ring as data
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Singular/links/ssiLink.cc

    r3c5f5fd r61ef55  
    8888    char name[20];
    8989    int nr=0;
    90     do
    91     { sprintf(name,"ssiRing%d",nr); nr++; }
    92     while(IDROOT->get(name, 0)!=NULL);
    93     idhdl h=enterid(omStrDup(name),0,RING_CMD,&IDROOT,FALSE);
    94     IDRING(h)=r;
    95     r->ref++;
     90    idhdl h=NULL;
     91    loop
     92    {
     93      sprintf(name,"ssiRing%d",nr); nr++;
     94      h=IDROOT->get(name, 0);
     95      if (h==NULL)
     96      {
     97        h=enterid(omStrDup(name),0,RING_CMD,&IDROOT,FALSE);
     98        IDRING(h)=r;
     99        r->ref++;
     100        break;
     101      }
     102      else if ((IDTYP(h)==RING_CMD)
     103      && (rEqual(r,IDRING(h),1)))
     104        break;
     105    }
    96106    rSetHdl(h);
    97107    return FALSE;
     
    430440number ssiReadNumber(const ssiInfo *d)
    431441{
     442  if (currRing==NULL) ssiSetCurrRing(d->r);
    432443  return ssiReadNumber_CF(d,d->r->cf);
    433444}
     
    586597poly ssiReadPoly(const ssiInfo *D)
    587598{
     599  if (currRing==NULL) ssiSetCurrRing(D->r);
     600  return ssiReadPoly_R(D,D->r);
     601}
     602
     603ideal ssiReadIdeal_R(const ssiInfo *d,const ring r)
     604{
    588605// < # of terms> < term1> < .....
    589   return ssiReadPoly_R(D,D->r);
    590 }
    591 
    592 ideal ssiReadIdeal_R(const ssiInfo *d,const ring r)
    593 {
    594606  int n,i;
    595607  ideal I;
     
    605617ideal ssiReadIdeal(const ssiInfo *d)
    606618{
     619  if (currRing==NULL) ssiSetCurrRing(d->r);
    607620  return ssiReadIdeal_R(d,d->r);
    608621}
     
    12811294             if (d->r==NULL) return NULL;
    12821295             res->data=(char*)d->r;
     1296             d->r->ref++;
    12831297             res->rtyp=RING_CMD;
    1284              // we are in the top-level, so set the basering to d->r:
    1285              if (d->r!=NULL)
     1298             if (t==15) // setring
    12861299             {
    12871300               if(ssiSetCurrRing(d->r)) { d->r=currRing; d->r->ref++; }
    1288              }
    1289              if (t==15) // setring
    1290              {
    12911301               omFreeBin(res,sleftv_bin);
    12921302               return ssiRead1(l);
  • Tst/Short/bug_ssi_algring.res.gz.uu

    r3c5f5fd r61ef55  
    11begin 640 bug_ssi_algring.res.gz
    2 M'XL("*=C15@``V)U9U]S<VE?86QG<FEN9RYR97,`M93!CILP$(;O/,4HZ@%*
    3 M`L%`T@6%0]O+2E6ES?:T595U@A-92VR$G4WHT]=V*/8AJGK8Y8+]SXS]S8_Q
    4 MXX^O]]\!(*G@V_UGF$@AHX9N)Z7W.$10!4K<4$:E'Y2>?D-5P?9TV`A!-[@Y
    5 M=)0=(D;.D9!8CG5I!>,XBR".X=Q12>*.X!ITB0#^2CJ0F(G?4:S6B<A%$B8H
    6 M9V*LS".3"VM8@3^?XF!ZF=:MI5M4<*2LY4VO$C`*$QM:5M!0]@*-BDP4:G$&
    7 M#6RV=OK[5%W!_&8*Z\#J=U;'(0K3BXTE\VJ@0BM_J:%Z%RI);.D:.67(ZAD.
    8 M\W#1.T'EUZ[A0@4=,5,]K`Q\=PL^R2NHR1ZZ9*5MU:5J7'K*[!TG^SW=4<*D
    9 M*.#AX2?^%?O:H$!'V>FX5=[S/;SB3D`!B5:'9]OPW8L^$TKG74U,JW7K9-BG
    10 M`(:/1.CAY<82R%WBRXB]&+"1@XU*+_UX"7UE=C`F+H?$U$E,;_3W]!0O??QN
    11 MK?7_WYHZ3HT!E'U+5(KZ:GIVY+6>=890+7N-7+^GUGA+F-)Z8F;F'RG,RVQM
    12 M3HWBX7+0_NYV-_B3.?YDI3?K0W^6XIEU$LW?D,MR_(,-)0-;[K#EI??<Y<]C
    13 ?#KIQZ)%S<R!U<^C;1]\L)^$G0?G!^P-\8"K_LP0`````
     2M'XL("-%#ZU@"`V)U9U]S<VE?86QG<FEN9RYR97,`M93/;YLP%,?O_!5/T0XP
     3M$@@&DA44#MLNE:9)37?J-*5.<"*KQ$;8:<+^^MD.PSY$TPZM+[:_[X<_[V'\
     4M^./K_7<`2"KX=O\9)E+(J*';2>D]#A94@1(WE%'I!Z6G9Z@JV)X.&R'H!C>'
     5MCK)#Q,@Y$A++,2ZM8%QG$<0QG#LJ2=P17(,.$<!?20<2,_$[BE6>B%PD88)R
     6M)L;(/#*^L(85^/,I#J:7:=U:ND4%1\I:WO3*`:,PL:9E!0UE+]`HRT2A%F?0
     7MP.9HI[Y/U17,;Z:P#JQ^9W4<HC"]6%LRKP8JM/*7&JIWH9+$AJZ1$X:LGN$P
     8M#Q>]8U3]VC5<**,C9JJ&E8'O;L$G>04UV4.7K'1;=:A:EYYJ]HZ3_9[N*&%2
     9M%/#P\!/_BOTHB@)M9*?C5K6>[^$5=P(*2+0ZC&W#=R_Z2BB==S4QE=:MXV%'
     10M`0P?B=#+RXT4R$WQ9:1>#-3(H4:EEWZ\A+[J=3`Z+@?'U'%,;Y3W]!0O??QN
     11MI?7_7YJZ38T!E'U+E(OZ:'IWY+7>=890I;U:KI]3:[PE3&D],3OSBQ1F,D>;
     12M2Z-XN!RTOZ?=#?W)G/YDI3?K0W^6XIGM))J_(9?E^`<;2@:VW&'+2^^YRY]'
     13?'W3CSB/GX4#JX="/CWY83L)/@O*#]P><_FP(L@0`````
    1414`
    1515end
  • Tst/Short/bug_ssi_algring.stat

    r3c5f5fd r61ef55  
    1 1 >> tst_memory_0 :: 1480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:113240
    2 1 >> tst_memory_1 :: 1480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:2228224
    3 1 >> tst_memory_2 :: 1480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:2228224
    4 1 >> tst_timer_1 :: 1480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:0
     11 >> tst_memory_0 :: 1491813329:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:88624
     21 >> tst_memory_1 :: 1491813329:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:2211840
     31 >> tst_memory_2 :: 1491813329:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:2211840
     41 >> tst_timer_1 :: 1491813329:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:1
Note: See TracChangeset for help on using the changeset viewer.