From 7771f6c0ee3b65406d6a860afae2ceda20354a3d Mon Sep 17 00:00:00 2001 From: mame Date: Tue, 22 Jul 2008 11:43:38 +0000 Subject: [PATCH] * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): BigDecimal#<=> should return nil if an argument can't be coerced into BigDecimal. * ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c (VpIsNegDoubleZero, VpItoV): comment out unused functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ ext/bigdecimal/bigdecimal.c | 8 ++++++-- ext/bigdecimal/bigdecimal.h | 4 ++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b8372656d9..cd315e4c63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Jul 22 20:42:24 2008 Yusuke Endoh + + * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): BigDecimal#<=> should + return nil if an argument can't be coerced into BigDecimal. + + * ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c + (VpIsNegDoubleZero, VpItoV): comment out unused functions. + Tue Jul 22 20:33:54 2008 Yusuke Endoh * test/rdoc/test_rdoc_parser_ruby.rb (teardown): close tempfile. diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index 013293365c..614032953c 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -730,11 +730,11 @@ BigDecimalCmp(VALUE self, VALUE r,char op) GUARD_OBJ(a,GetVpValue(self,1)); b = GetVpValue(r,0); if(!b) { - ID f; + ID f = 0; switch(op) { - case '*': return INT2FIX(e); /* any op */ + case '*': return Qnil; /* any op */ case '=': f = rb_intern("=="); break; case '!': f = rb_intern("!="); break; case 'G': f = rb_intern(">="); break; @@ -2196,12 +2196,14 @@ VpGetDoubleNegZero(void) /* Returns the value of -0 */ return nzero; } +#if 0 /* unused */ VP_EXPORT int VpIsNegDoubleZero(double v) { double z = VpGetDoubleNegZero(); return MemCmp(&v,&z,sizeof(v))==0; } +#endif VP_EXPORT int VpException(unsigned short f, const char *str,int always) @@ -4173,6 +4175,7 @@ Exit: /* * m <- ival */ +#if 0 /* unused */ VP_EXPORT void VpItoV(Real *m, S_INT ival) { @@ -4230,6 +4233,7 @@ Exit: #endif /* _DEBUG */ return; } +#endif /* * y = SQRT(x), y*y - x =>0 diff --git a/ext/bigdecimal/bigdecimal.h b/ext/bigdecimal/bigdecimal.h index 4f77feab00..3a300f1df5 100644 --- a/ext/bigdecimal/bigdecimal.h +++ b/ext/bigdecimal/bigdecimal.h @@ -127,7 +127,9 @@ VP_EXPORT unsigned long VpGetRoundMode(void); VP_EXPORT unsigned long VpSetRoundMode(unsigned long n); VP_EXPORT int VpException(unsigned short f,const char *str,int always); +#if 0 /* unused */ VP_EXPORT int VpIsNegDoubleZero(double v); +#endif VP_EXPORT U_LONG VpNumOfChars(Real *vp,const char *pszFmt); VP_EXPORT U_LONG VpInit(U_LONG BaseVal); VP_EXPORT void *VpMemAlloc(U_LONG mb); @@ -146,7 +148,9 @@ VP_EXPORT void VpToFString(Real *a,char *psz,int fFmt,int fPlus); VP_EXPORT int VpCtoV(Real *a,const char *int_chr,U_LONG ni,const char *frac,U_LONG nf,const char *exp_chr,U_LONG ne); VP_EXPORT int VpVtoD(double *d,S_LONG *e,Real *m); VP_EXPORT void VpDtoV(Real *m,double d); +#if 0 /* unused */ VP_EXPORT void VpItoV(Real *m,S_INT ival); +#endif VP_EXPORT int VpSqrt(Real *y,Real *x); VP_EXPORT int VpActiveRound(Real *y,Real *x,int f,int il); VP_EXPORT int VpMidRound(Real *y, int f, int nf);