Exemplo n.º 1
0
static npy_int64 asfreq_BtoDT(npy_int64 ordinal, char relation, asfreq_info *af_info)
{
    ordinal += BDAY_OFFSET;
    ordinal = (((ordinal - 1) / 5) * 7 +
            mod_compat(ordinal - 1, 5) + 1 - ORD_OFFSET);

    return convert_daytime(ordinal, FR_DAY, af_info->targetFreq, relation != 'S');
}
Exemplo n.º 2
0
static void QtoD_ym(npy_int64 ordinal, int *y, int *m, asfreq_info *af_info) {
    *y = floordiv(ordinal, 4) + BASE_YEAR;
    *m = mod_compat(ordinal, 4) * 3 + 1;

    if (af_info->from_q_year_end != 12) {
        *m += af_info->from_q_year_end;
        if (*m > 12) { *m -= 12; }
        else { *y -= 1; }
    }
}
Exemplo n.º 3
0
static int floordiv(int x, int divisor) {
    if (x < 0) {
        if (mod_compat(x, divisor)) {
            return x / divisor - 1;
        }
        else return x / divisor;
    } else {
        return x / divisor;
    }
}
Exemplo n.º 4
0
//************ FROM MONTHLY ***************
static void MtoD_ym(npy_int64 ordinal, int *y, int *m) {
    *y = floordiv(ordinal, 12) + BASE_YEAR;
    *m = mod_compat(ordinal, 12) + 1;
}
Exemplo n.º 5
0
static npy_int64 asfreq_BtoD(npy_int64 ordinal, char relation, asfreq_info *af_info)
    {
		ordinal += BDAY_OFFSET;
		return (((ordinal - 1) / 5) * 7 +
				mod_compat(ordinal - 1, 5) + 1 - ORD_OFFSET);
	}