Home | History | Annotate | Download | only in libexslt

Lines Matching refs:dur

112         exsltDateValDuration    dur;
981 exsltDateValPtr dur;
997 dur = exsltDateCreateDate(XS_DURATION);
998 if (dur == NULL)
1037 dur->value.dur.mon = (long)num * 12;
1040 dur->value.dur.mon += (long)num;
1044 dur->value.dur.sec += num * multi[seq];
1059 dur->value.dur.mon = -dur->value.dur.mon;
1060 dur->value.dur.day = -dur->value.dur.day;
1061 dur->value.dur.sec = -dur->value.dur.sec;
1066 "Parsed duration %f\n", dur->value.dur.sec);
1069 return dur;
1072 if (dur != NULL)
1073 exsltDateFreeDate(dur);
1269 return exsltDateFormatDuration(&(dt->value.dur));
1364 ret += (double)dt->value.dur.day * SECS_PER_DAY;
1365 ret += dt->value.dur.sec;
1450 * @dur: an #exsltDateValPtr of type #XS_DURATION
1452 * Compute a new date/time from @dt and @dur. This function assumes @dt
1458 _exsltDateAdd (exsltDateValPtr dt, exsltDateValPtr dur)
1465 if ((dt == NULL) || (dur == NULL))
1474 u = &(dur->value.dur);
1600 exsltDateValPtr dur, tmp;
1608 dur = exsltDateCreateDate(XS_DURATION);
1609 if (dur == NULL)
1612 tmp = _exsltDateAdd(dt, dur);
1619 exsltDateFreeDate(dur);
1669 ret->value.dur.mon = ((y->value.date.year * 12) + y->value.date.mon) -
1674 ret->value.dur.day = _exsltDateCastYMToDays(y) -
1676 ret->value.dur.day += y->value.date.day - x->value.date.day;
1677 ret->value.dur.sec = TIME_TO_NUMBER(y) - TIME_TO_NUMBER(x);
1678 if (ret->value.dur.day > 0.0 && ret->value.dur.sec < 0.0) {
1679 ret->value.dur.day -= 1;
1680 ret->value.dur.sec = ret->value.dur.sec + SECS_PER_DAY;
1681 } else if (ret->value.dur.day < 0.0 && ret->value.dur.sec > 0.0) {
1682 ret->value.dur.day += 1;
1683 ret->value.dur.sec = ret->value.dur.sec - SECS_PER_DAY;
1708 ret->value.dur.mon = x->value.dur.mon + y->value.dur.mon;
1711 ret->value.dur.sec = x->value.dur.sec + y->value.dur.sec;
1712 carry = (long)FQUOTIENT(ret->value.dur.sec, SECS_PER_DAY);
1713 if (ret->value.dur.sec != 0.0) {
1714 ret->value.dur.sec = MODULO(ret->value.dur.sec, SECS_PER_DAY);
1720 if ((carry < 0) && (ret->value.dur.sec != 0)) {
1722 ret->value.dur.sec = ret->value.dur.sec - SECS_PER_DAY;
1728 ret->value.dur.day = x->value.dur.day + y->value.dur.day + carry;
1734 if ((((ret->value.dur.day > 0) || (ret->value.dur.sec > 0)) &&
1735 (ret->value.dur.mon < 0)) ||
1736 (((ret->value.dur.day < 0) || (ret->value.dur.sec < 0)) &&
1737 (ret->value.dur.mon > 0))) {
2691 exsltDateValPtr dt, dur, res;
2705 dur = exsltDateParseDuration(ystr);
2706 if (dur == NULL) {
2711 res = _exsltDateAdd(dt, dur);
2714 exsltDateFreeDate(dur);
2773 ret = exsltDateFormatDuration(&(res->value.dur));
2867 ret = exsltDateFormatDuration (&(total->value.dur));
2930 exsltDateValPtr y, dur;
2943 dur = _exsltDateDifference(y, dt, 1);
2944 if (dur != NULL) {
2945 ret = exsltDateCastDateToNumber(dur);
2946 exsltDateFreeDate(dur);
2951 } else if ((dt->type == XS_DURATION) && (dt->value.dur.mon == 0))
2999 exsltDateValPtr x, y, dur;
3022 dur = _exsltDateDifference(x, y, 0);
3027 if (dur == NULL)
3030 ret = exsltDateFormatDuration(&(dur->value.dur));
3031 exsltDateFreeDate(dur);
3059 exsltDateValPtr dur;
3071 dur = exsltDateCreateDate(XS_DURATION);
3072 if (dur == NULL)
3075 dur->value.dur.sec = secs;
3077 ret = exsltDateFormatDuration(&(dur->value.dur));
3078 exsltDateFreeDate(dur);