Changeset 3778c1 in git
- Timestamp:
- Apr 5, 2018, 1:59:38 PM (5 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 368dcf94cd3c437d819fd33a7de8c094b0cc24e1
- Parents:
- 3332c96a93d3da475e394507b578e9bbe35581e3e2ec675ba481fbe99b3ecc4258072207a8074fbc
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2018-04-05 13:59:38+02:00
- git-committer:
- GitHub <noreply@github.com>2018-04-05 13:59:38+02:00
- Files:
-
- 1 deleted
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile.am
re2ec67 r3778c1 20 20 if test -e $(srcdir)/doc/doc.tbz2; then\ 21 21 (cat ${top_srcdir}/doc/doc.tbz2| (cd $(DESTDIR)$(datadir)/singular; tar jxf -));\ 22 mkdir $(DESTDIR)$(datadir)/info;\ 22 -mkdir $(DESTDIR)$(datadir)/info;\ 23 -mkdir $(DESTDIR)$(datadir)/doc;\ 23 24 mv $(DESTDIR)$(datadir)/singular/singular.hlp $(DESTDIR)$(datadir)/info/.;\ 25 mv $(DESTDIR)$(datadir)/singular/singular.idx $(DESTDIR)$(datadir)/doc/.;\ 24 26 fi 25 27 -
Singular/Makefile.am
re2ec67 r3778c1 218 218 singularlibrarydir = ${datadir}/singular 219 219 singularlibrary = $(SLIB0:%=LIB/%) $(SLIB1:%=LIB/%) $(PLIBS:%=LIB/%) $(SLIB2:%=LIB/%) 220 singularlibrary_DATA = $(top_srcdir)/doc/singular.idx221 220 nobase_dist_singularlibrary_DATA = LIB/tst.lib LIB/help.cnf ${singularlibrary} 222 221 EXTRA_DIST = grammar.y libparse.ll make_alllib.sh LIB/all.lib.tmpl \ 223 222 singular-libs LIB/help.cnf LIB/.singularrc LIB/COPYING \ 224 links/slInit_Dynamic.cc ../doc/singular.idx223 links/slInit_Dynamic.cc 225 224 226 225 singularalllibrarydir = ${datadir}/singular/LIB -
Singular/misc_ip.cc
re2ec67 r3778c1 880 880 StringAppendS("KDEBUG,"); 881 881 #endif 882 StringAppendS("\n\t"); 882 883 #ifdef __OPTIMIZE__ 883 884 StringAppendS("CC:OPTIMIZE,"); … … 889 890 StringAppendS("CC:NO_INLINE,"); 890 891 #endif 892 #ifdef HAVE_GENERIC_ADD 893 StringAppendS("GenericAdd,"); 894 #else 895 StringAppendS("AvoidBranching,"); 896 #endif 897 #ifdef HAVE_MULT_MOD 898 StringAppendS("GenericMult,"); 899 #else 900 StringAppendS("TableMult,"); 901 #endif 902 StringAppendS("\n\t"); 891 903 #ifdef HAVE_EIGENVAL 892 904 StringAppendS("eigenvalues,"); -
doc/NEWS.texi
re2ec67 r3778c1 23 23 New libraries: 24 24 @itemize 25 @ item fpalgebras.lib: Generation of various algebras in the letterplace case26 (@nref{fpalgebras_lib})25 @c @item fpalgebras.lib: Generation of various algebras in the letterplace case 26 @c (@nref{fpalgebras_lib}) 27 27 @end itemize 28 28 -
factory/ffops.h
re2ec67 r3778c1 40 40 { 41 41 int n = a % ff_prime; 42 #if defined(i386) || defined( NTL_AVOID_BRANCHING)42 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 43 43 n += (n >> 31) & ff_prime; 44 44 return n; … … 52 52 { 53 53 long n = a % ff_prime; 54 #if defined(i386) || defined( NTL_AVOID_BRANCHING)54 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 55 55 n += (n >> 31) & ff_prime; 56 56 return n; … … 80 80 { 81 81 int n = (int)(a % (long)ff_prime); 82 #if defined(i386) || defined( NTL_AVOID_BRANCHING)82 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 83 83 n += (n >> 31) & ff_prime; 84 84 return n; … … 92 92 { 93 93 int n = (int)(a % (FACTORY_INT64)ff_prime); 94 #if defined(i386) || defined( NTL_AVOID_BRANCHING)94 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 95 95 n += (n >> 31) & ff_prime; 96 96 return n; … … 104 104 { 105 105 //return ff_norm( a + b ); 106 #if defined(i386) || defined( NTL_AVOID_BRANCHING)106 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 107 107 int r=( a + b ); 108 108 r -= ff_prime; … … 119 119 { 120 120 //return ff_norm( a - b ); 121 #if defined(i386) || defined( NTL_AVOID_BRANCHING)121 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 122 122 int r=( a - b ); 123 123 r += (r >> 31) & ff_prime; … … 134 134 //return ff_norm( -a ); 135 135 // EXPERIMENT 136 #if defined(i386) || defined( NTL_AVOID_BRANCHING)136 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 137 137 int r= -a; 138 138 r += (r >> 31) & ff_prime; -
kernel/GBEngine/test.cc
re2ec67 r3778c1 41 41 #include "polys/clapsing.h" 42 42 43 44 // // TODO: DUE to the use of HALT in npolygon.cc :(((45 //extern "C" {void m2_end(int i){exit(i);}}46 47 // TODO: DUE to its use in kutil.cc :(((48 char * showOption(){return NULL;}49 43 50 44 #include "kernel/combinatorics/stairc.h" -
kernel/combinatorics/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/fglm/test.cc
re2ec67 r3778c1 52 52 #include "polys/clapsing.h" 53 53 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 54 // #include "structs.h" 63 55 -
kernel/groebner_walk/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/ideals.cc
r3332c96 r3778c1 1820 1820 { 1821 1821 hh=idInit(1,1); 1822 Werror("wrong algorith %d for SB",(int)alg);1822 Werror("wrong algorithm %d for SB",(int)alg); 1823 1823 } 1824 1824 //SI_RESTORE_OPT1(save1); -
kernel/linear_algebra/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/maps/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/numeric/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/oswrapper/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // #include "structs.h" 63 56 -
kernel/spectrum/test.cc
re2ec67 r3778c1 53 53 54 54 55 // // TODO: DUE to the use of HALT in npolygon.cc :(((56 extern "C" {void m2_end(int i){exit(i);}}57 58 // // TODO: DUE to its use in kutil.cc :(((59 // char * showOption(){return NULL;}60 61 62 55 // HEADERS: 63 56 #include "kernel/ideals.h" -
kernel/test.cc
re2ec67 r3778c1 45 45 46 46 #include "polys/clapsing.h" 47 48 49 // // TODO: DUE to the use of HALT in npolygon.cc :(((50 extern "C" {void m2_end(int i){exit(i);}}51 52 // // TODO: DUE to its use in kutil.cc :(((53 char * showOption(){return NULL;}54 55 // // TODO: DUE to its use in feread.cc :(((56 char *iiArithGetCmd(int nPos){return NULL; }57 58 47 59 48 #include "coeffs/numbers.h" -
libpolys/coeffs/modulop.cc
re2ec67 r3778c1 41 41 void npCoeffWrite (const coeffs r, BOOLEAN details); 42 42 const char * npRead (const char *s, number *a,const coeffs r); 43 void nvInpMult(number &a, number b, const coeffs r); 43 44 44 45 #ifdef LDEBUG … … 94 95 n_Test(c, r); 95 96 return c; 97 } 98 99 void npInpMult (number &a,number b, const coeffs r) 100 { 101 n_Test(a, r); 102 n_Test(b, r); 103 104 if (((long)a == 0) || ((long)b == 0)) 105 a=(number)0; 106 else 107 a = npMultM(a,b, r); 108 n_Test(a, r); 96 109 } 97 110 … … 471 484 472 485 r->cfMult = npMult; 473 r->cfInpMult = npInpMult M;486 r->cfInpMult = npInpMult; 474 487 r->cfSub = npSubM; 475 488 r->cfAdd = npAddM; … … 509 522 //r->cfName = ndName; 510 523 //r->cfInpMult=ndInpMult; 511 #ifdef NV_OPS 512 if (c>NV_MAX_PRIME) 513 { 514 r->cfMult = nvMult; 515 r->cfDiv = nvDiv; 516 r->cfExactDiv= nvDiv; 517 r->cfInvers= nvInvers; 518 //r->cfPower= nvPower; 519 if (c>FACTORY_MAX_PRIME) 520 { 521 r->convSingNFactoryN=ndConvSingNFactoryN; 522 } 523 } 524 #endif 524 r->convSingNFactoryN=npConvSingNFactoryN; 525 r->convFactoryNSingN=npConvFactoryNSingN; 526 r->cfRandom=npRandom; 525 527 #ifdef LDEBUG 526 528 // debug stuff 527 529 r->cfDBTest=npDBTest; 528 530 #endif 529 530 r->convSingNFactoryN=npConvSingNFactoryN;531 r->convFactoryNSingN=npConvFactoryNSingN;532 533 r->cfRandom=npRandom;534 531 535 532 // io via ssi … … 547 544 #endif 548 545 { 549 #if !defined(HAVE_DIV_MOD) || !defined(HAVE_MULT_MOD) 550 r->npExpTable=(unsigned short *)omAlloc( r->ch*sizeof(unsigned short) ); 551 r->npLogTable=(unsigned short *)omAlloc( r->ch*sizeof(unsigned short) ); 546 #ifdef HAVE_DIV_MOD 547 r->npInvTable=(unsigned short*)omAlloc0( r->ch*sizeof(unsigned short) ); 548 #elif (!defined(HAVE_MULT_MOD)||(!HAVE_DIV_MOD)) 549 r->npExpTable=(unsigned short *)omAlloc0( r->ch*sizeof(unsigned short) ); 550 r->npLogTable=(unsigned short *)omAlloc0( r->ch*sizeof(unsigned short) ); 552 551 r->npExpTable[0] = 1; 553 552 r->npLogTable[0] = 0; … … 578 577 } 579 578 #endif 580 #ifdef HAVE_DIV_MOD 581 r->npInvTable=(unsigned short*)omAlloc0( r->ch*sizeof(unsigned short) ); 582 #endif 583 } 579 } 580 #ifdef NV_OPS 581 else /*if (c>NV_MAX_PRIME)*/ 582 { 583 r->cfMult = nvMult; 584 r->cfDiv = nvDiv; 585 r->cfExactDiv = nvDiv; 586 r->cfInvers = nvInvers; 587 r->cfInpMult = nvInpMult; 588 //r->cfPower= nvPower; 589 //if (c>FACTORY_MAX_PRIME) // factory will catch this error 590 //{ 591 // r->convSingNFactoryN=ndConvSingNFactoryN; 592 //} 593 } 594 #endif 584 595 return FALSE; 585 596 } … … 780 791 } 781 792 782 void 793 void nvInpMult(number &a, number b, const coeffs r) 783 794 { 784 795 number n=nvMultM(a,b,r); 785 796 a=n; 786 797 } 787 788 798 789 799 static inline long nvInvMod(long a, const coeffs R) -
libpolys/coeffs/modulop.h
re2ec67 r3778c1 56 56 { 57 57 long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b]; 58 return (number)(long)r->npExpTable[x<r->npPminus1M ? x : x- r->npPminus1M]; 58 #ifdef HAVE_GENERIC_ADD 59 if (x>r->npPminus1M) x-=r->npPminus1M; 60 #else 61 x-=r->npPminus1M; 62 #if SIZEOF_LONG == 8 63 x += (x >> 63) & r->npPminus1M; 64 #else 65 x += (x >> 31) & r->npPminus1M; 66 #endif 67 #endif 68 return (number)(long)r->npExpTable[x]; 59 69 } 60 70 static inline void npInpMultM(number &a, number b, const coeffs r) 61 71 { 62 72 long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b]; 63 a=(number)(long)r->npExpTable[x<r->npPminus1M ? x : x- r->npPminus1M]; 73 #ifdef HAVE_GENERIC_ADD 74 if (x>r->npPminus1M) x-=r->npPminus1M; 75 #else 76 x-=r->npPminus1M; 77 #if SIZEOF_LONG == 8 78 x += (x >> 63) & r->npPminus1M; 79 #else 80 x += (x >> 31) & r->npPminus1M; 81 #endif 82 #endif 83 a=(number)(long)r->npExpTable[x]; 64 84 } 65 85 #endif -
libpolys/coeffs/numbers.cc
re2ec67 r3778c1 145 145 BOOLEAN n_IsZeroDivisor( number a, const coeffs r) 146 146 { 147 BOOLEAN ret = n_IsZero(a, r); 147 148 int c = n_GetChar(r); 148 BOOLEAN ret = n_IsZero(a, r); 149 if( (c != 0) && !ret ) 150 { 151 number ch = n_Init( c, r ); 152 number g = n_Gcd( ch, a, r ); 153 ret = !n_IsOne (g, r); 154 n_Delete(&ch, r); 155 n_Delete(&g, r); 156 } 149 if (ret || (c==0) || (r->is_field)) 150 return ret; /*n_IsZero(a, r)*/ 151 number ch = n_Init( c, r ); 152 number g = n_Gcd( ch, a, r ); 153 ret = !n_IsOne (g, r); 154 n_Delete(&ch, r); 155 n_Delete(&g, r); 157 156 return ret; 158 157 } -
libpolys/coeffs/rmodulo2m.cc
re2ec67 r3778c1 25 25 #ifdef HAVE_RINGS 26 26 27 #ifdef LDEBUG 28 BOOLEAN nr2mDBTest(number a, const char *f, const int l, const coeffs r) 29 { 30 if (((long)a<0L) || ((long)a>(long)r->mod2mMask)) 31 { 32 Print("wrong mod 2^n number %ld at %s,%d\n",(long)a,f,l); 33 return FALSE; 34 } 35 return TRUE; 36 } 37 #endif 38 39 27 40 static inline number nr2mMultM(number a, number b, const coeffs r) 28 41 { 29 42 return (number) 30 ((((unsigned long) a) * ((unsigned long) b)) & ((unsigned long)r->mod2mMask));43 ((((unsigned long) a) * ((unsigned long) b)) & r->mod2mMask); 31 44 } 32 45 … … 34 47 { 35 48 return (number) 36 ((((unsigned long) a) + ((unsigned long) b)) & ((unsigned long)r->mod2mMask));49 ((((unsigned long) a) + ((unsigned long) b)) & r->mod2mMask); 37 50 } 38 51 … … 40 53 { 41 54 return (number)((unsigned long)a < (unsigned long)b ? 42 r->mod2mMask - (unsigned long)b + (unsigned long)a + 1:55 r->mod2mMask+1 - (unsigned long)b + (unsigned long)a: 43 56 (unsigned long)a - (unsigned long)b); 44 57 } 45 58 46 #define nr2mNegM(A,r) (number)((r->mod2mMask - (unsigned long)(A) + 1) & r->mod2mMask)59 #define nr2mNegM(A,r) (number)((r->mod2mMask+1 - (unsigned long)(A)) & r->mod2mMask) 47 60 #define nr2mEqualM(A,B) ((A)==(B)) 48 61 … … 82 95 static coeffs nr2mQuot1(number c, const coeffs r) 83 96 { 84 coeffs rr; 85 long ch = r->cfInt(c, r); 86 mpz_t a,b; 87 mpz_init_set(a, r->modNumber); 88 mpz_init_set_ui(b, ch); 89 mpz_ptr gcd; 90 gcd = (mpz_ptr) omAlloc(sizeof(mpz_t)); 91 mpz_init(gcd); 92 mpz_gcd(gcd, a,b); 93 if(mpz_cmp_ui(gcd, 1) == 0) 94 { 95 WerrorS("constant in q-ideal is coprime to modulus in ground ring"); 96 WerrorS("Unable to create qring!"); 97 return NULL; 98 } 99 if(mpz_cmp_ui(gcd, 2) == 0) 97 coeffs rr; 98 long ch = r->cfInt(c, r); 99 mpz_t a,b; 100 mpz_init_set(a, r->modNumber); 101 mpz_init_set_ui(b, ch); 102 mpz_ptr gcd; 103 gcd = (mpz_ptr) omAlloc(sizeof(mpz_t)); 104 mpz_init(gcd); 105 mpz_gcd(gcd, a,b); 106 if(mpz_cmp_ui(gcd, 1) == 0) 107 { 108 WerrorS("constant in q-ideal is coprime to modulus in ground ring"); 109 WerrorS("Unable to create qring!"); 110 return NULL; 111 } 112 if(mpz_cmp_ui(gcd, 2) == 0) 113 { 114 rr = nInitChar(n_Zp, (void*)2); 115 } 116 else 117 { 118 int kNew = 1; 119 mpz_t baseTokNew; 120 mpz_init(baseTokNew); 121 mpz_set(baseTokNew, r->modBase); 122 while(mpz_cmp(gcd, baseTokNew) > 0) 100 123 { 101 rr = nInitChar(n_Zp, (void*)2); 124 kNew++; 125 mpz_mul(baseTokNew, baseTokNew, r->modBase); 102 126 } 103 else 104 { 105 int kNew = 1; 106 mpz_t baseTokNew; 107 mpz_init(baseTokNew); 108 mpz_set(baseTokNew, r->modBase); 109 while(mpz_cmp(gcd, baseTokNew) > 0) 110 { 111 kNew++; 112 mpz_mul(baseTokNew, baseTokNew, r->modBase); 113 } 114 mpz_clear(baseTokNew); 115 rr = nInitChar(n_Z2m, (void*)(long)kNew); 116 } 117 return(rr); 127 mpz_clear(baseTokNew); 128 rr = nInitChar(n_Z2m, (void*)(long)kNew); 129 } 130 return(rr); 118 131 } 119 132 … … 131 144 static number nr2mMult(number a, number b, const coeffs r) 132 145 { 146 number n; 133 147 if (((unsigned long)a == 0) || ((unsigned long)b == 0)) 134 148 return (number)0; 135 149 else 136 return nr2mMultM(a, b, r); 150 n=nr2mMultM(a, b, r); 151 n_Test(n,r); 152 return n; 137 153 } 138 154 … … 340 356 static long nr2mInt(number &n, const coeffs r) 341 357 { 342 unsigned long nn = (unsigned long) (unsigned long)n & r->mod2mMask;358 unsigned long nn = (unsigned long)n; 343 359 unsigned long l = r->mod2mMask >> 1; l++; /* now: l = 2^(m-1) */ 344 360 if ((unsigned long)nn > l) … … 350 366 static number nr2mAdd(number a, number b, const coeffs r) 351 367 { 352 return nr2mAddM(a, b, r); 368 number n=nr2mAddM(a, b, r); 369 n_Test(n,r); 370 return n; 353 371 } 354 372 355 373 static number nr2mSub(number a, number b, const coeffs r) 356 374 { 357 return nr2mSubM(a, b, r); 375 number n=nr2mSubM(a, b, r); 376 n_Test(n,r); 377 return n; 358 378 } 359 379 … … 411 431 } 412 432 } 413 return (number)nr2mMult(a, nr2mInversM(b,r),r); 433 number n=(number)nr2mMult(a, nr2mInversM(b,r),r); 434 n_Test(n,r); 435 return n; 414 436 } 415 437 … … 578 600 { 579 601 if ((unsigned long)c == 0) return c; 580 return nr2mNegM(c, r); 602 number n=nr2mNegM(c, r); 603 n_Test(n,r); 604 return n; 581 605 } 582 606 583 607 static number nr2mMapMachineInt(number from, const coeffs /*src*/, const coeffs dst) 584 608 { 585 unsigned long i = ((unsigned long)from) % dst->mod2mMask;609 unsigned long i = ((unsigned long)from) % (dst->mod2mMask + 1) ; 586 610 return (number)i; 587 611 } … … 711 735 WarnS("nr2mInitExp unexpectedly called with m = 1 (we continue with Z/2^2"); 712 736 } 713 714 #ifdef LDEBUG715 static BOOLEAN nr2mDBTest (number a, const char *, const int, const coeffs r)716 {717 //if ((unsigned long)a < 0) return FALSE; // is unsigned!718 if (((unsigned long)a & r->mod2mMask) != (unsigned long)a) return FALSE;719 return TRUE;720 }721 #endif722 737 723 738 static void nr2mWrite (number a, const coeffs r) -
libpolys/polys/templates/p_Numbers.h
re2ec67 r3778c1 55 55 #define n_Neg_RingGeneral(n, r) n_Neg_FieldGeneral(n, r) 56 56 #define n_Sub_RingGeneral(n1, n2, r) n_Sub_FieldGeneral(n1, n2, r) 57 //#define n_InpMult_RingGeneral(n1, n2, r) n_InpMult_FieldGeneral(n1, n2, r)58 57 #define n_InpMult_RingGeneral(n1, n2, r) n_InpMult_FieldGeneral(n1, n2, r) 59 58 … … 104 103 105 104 static FORCE_INLINE void n_InpMult_FieldZp(number &n1, number n2, const coeffs r) 106 { STATISTIC(n_InpMult); n 1=npMultM(n1, n2, r); }105 { STATISTIC(n_InpMult); npInpMultM(n1, n2, r); } 107 106 108 107 #ifdef HAVE_NUMSTATS -
omalloc/omDebugCheck.c
re2ec67 r3778c1 410 410 om_CallErrorHook = 1; 411 411 412 _omPrintAddrInfo(stderr, error, addr, bin_size, flags, 10, " occurred for"); 412 if ((error!=omError_NotBinAddr)&&(error!=omError_FreedAddr)) 413 _omPrintAddrInfo(stderr, error, addr, bin_size, flags, 10, " occurred for"); 413 414 om_Opts.ErrorHook(); 414 415
Note: See TracChangeset
for help on using the changeset viewer.