* ext/date/date_core.c (d_lite_cmp, d_lite_equal): simplified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
551bcc6364
commit
4eabe8193a
@ -1,3 +1,7 @@
|
|||||||
|
Wed Jun 5 07:14:18 2013 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
|
* ext/date/date_core.c (d_lite_cmp, d_lite_equal): simplified.
|
||||||
|
|
||||||
Wed Jun 5 07:07:01 2013 Tadayoshi Funaba <tadf@dotrb.org>
|
Wed Jun 5 07:07:01 2013 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
* ext/date/date_core.c: fixed a bug [ruby-core:55295]. reported
|
* ext/date/date_core.c: fixed a bug [ruby-core:55295]. reported
|
||||||
|
@ -6285,8 +6285,7 @@ d_lite_cmp(VALUE self, VALUE other)
|
|||||||
m_gregorian_p(adat) == m_gregorian_p(bdat)))
|
m_gregorian_p(adat) == m_gregorian_p(bdat)))
|
||||||
return cmp_dd(self, other);
|
return cmp_dd(self, other);
|
||||||
|
|
||||||
if (have_jd_p(adat) &&
|
{
|
||||||
have_jd_p(bdat)) {
|
|
||||||
VALUE a_nth, b_nth;
|
VALUE a_nth, b_nth;
|
||||||
int a_jd, b_jd;
|
int a_jd, b_jd;
|
||||||
|
|
||||||
@ -6314,76 +6313,6 @@ d_lite_cmp(VALUE self, VALUE other)
|
|||||||
return INT2FIX(1);
|
return INT2FIX(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
#ifndef USE_PACK
|
|
||||||
VALUE a_nth, b_nth;
|
|
||||||
int a_year, b_year,
|
|
||||||
a_mon, b_mon,
|
|
||||||
a_mday, b_mday;
|
|
||||||
#else
|
|
||||||
VALUE a_nth, b_nth;
|
|
||||||
int a_year, b_year,
|
|
||||||
a_pd, b_pd;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
m_canonicalize_jd(adat);
|
|
||||||
m_canonicalize_jd(bdat);
|
|
||||||
a_nth = m_nth(adat);
|
|
||||||
b_nth = m_nth(bdat);
|
|
||||||
if (f_eqeq_p(a_nth, b_nth)) {
|
|
||||||
a_year = m_year(adat);
|
|
||||||
b_year = m_year(bdat);
|
|
||||||
if (a_year == b_year) {
|
|
||||||
#ifndef USE_PACK
|
|
||||||
a_mon = m_mon(adat);
|
|
||||||
b_mon = m_mon(bdat);
|
|
||||||
if (a_mon == b_mon) {
|
|
||||||
a_mday = m_mday(adat);
|
|
||||||
b_mday = m_mday(bdat);
|
|
||||||
if (a_mday == b_mday) {
|
|
||||||
return INT2FIX(0);
|
|
||||||
}
|
|
||||||
else if (a_mday < b_mday) {
|
|
||||||
return INT2FIX(-1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return INT2FIX(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (a_mon < b_mon) {
|
|
||||||
return INT2FIX(-1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return INT2FIX(1);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
a_pd = m_pc(adat);
|
|
||||||
b_pd = m_pc(bdat);
|
|
||||||
if (a_pd == b_pd) {
|
|
||||||
return INT2FIX(0);
|
|
||||||
}
|
|
||||||
else if (a_pd < b_pd) {
|
|
||||||
return INT2FIX(-1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return INT2FIX(1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else if (a_year < b_year) {
|
|
||||||
return INT2FIX(-1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return INT2FIX(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (f_lt_p(a_nth, b_nth)) {
|
|
||||||
return INT2FIX(-1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return INT2FIX(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6428,8 +6357,7 @@ d_lite_equal(VALUE self, VALUE other)
|
|||||||
if (!(m_gregorian_p(adat) == m_gregorian_p(bdat)))
|
if (!(m_gregorian_p(adat) == m_gregorian_p(bdat)))
|
||||||
return equal_gen(self, other);
|
return equal_gen(self, other);
|
||||||
|
|
||||||
if (have_jd_p(adat) &&
|
{
|
||||||
have_jd_p(bdat)) {
|
|
||||||
VALUE a_nth, b_nth;
|
VALUE a_nth, b_nth;
|
||||||
int a_jd, b_jd;
|
int a_jd, b_jd;
|
||||||
|
|
||||||
@ -6444,47 +6372,6 @@ d_lite_equal(VALUE self, VALUE other)
|
|||||||
return Qtrue;
|
return Qtrue;
|
||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
#ifndef USE_PACK
|
|
||||||
VALUE a_nth, b_nth;
|
|
||||||
int a_year, b_year,
|
|
||||||
a_mon, b_mon,
|
|
||||||
a_mday, b_mday;
|
|
||||||
#else
|
|
||||||
VALUE a_nth, b_nth;
|
|
||||||
int a_year, b_year,
|
|
||||||
a_pd, b_pd;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
m_canonicalize_jd(adat);
|
|
||||||
m_canonicalize_jd(bdat);
|
|
||||||
a_nth = m_nth(adat);
|
|
||||||
b_nth = m_nth(bdat);
|
|
||||||
if (f_eqeq_p(a_nth, b_nth)) {
|
|
||||||
a_year = m_year(adat);
|
|
||||||
b_year = m_year(bdat);
|
|
||||||
if (a_year == b_year) {
|
|
||||||
#ifndef USE_PACK
|
|
||||||
a_mon = m_mon(adat);
|
|
||||||
b_mon = m_mon(bdat);
|
|
||||||
if (a_mon == b_mon) {
|
|
||||||
a_mday = m_mday(adat);
|
|
||||||
b_mday = m_mday(bdat);
|
|
||||||
if (a_mday == b_mday)
|
|
||||||
return Qtrue;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
/* mon and mday only */
|
|
||||||
a_pd = (m_pc(adat) >> MDAY_SHIFT);
|
|
||||||
b_pd = (m_pc(bdat) >> MDAY_SHIFT);
|
|
||||||
if (a_pd == b_pd) {
|
|
||||||
return Qtrue;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Qfalse;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user