On Wed, 5 May 2010, denis joubert wrote: > I think there is a bug into laggenr_from_to or i don't know to use it. > when you call it twice on 2 different id of variable(already stored > into Z), it does restart the position of the returned list. > For example : > listlag1 = laggenr_from_to(1, 1, 50, &m_Z, m_datainfo, &err); > listlag2 = laggenr_from_to(2, 1, 50, &m_Z, m_datainfo, &err); > return the same numbers into listlag1 and listlag2.
You will have to show me a small but complete program that produces unexpected results to make me believe there is a bug. The following program produces two distinct lists: 3 lags of the first variable, then 3 lags of the second. #include <gretl/libgretl.h> int main (void) { DATAINFO *m_datainfo; double **m_Z; int *laglist1, *laglist2; PRN *prn; int err = 0; libgretl_init(); prn = gretl_print_new(GRETL_PRINT_STDOUT, NULL); m_datainfo = create_new_dataset(&m_Z, 3, 10, 0); strcpy(m_datainfo->varname[1], "y1"); strcpy(m_datainfo->varname[2], "y2"); m_Z[1][0] = 1431225; m_Z[1][1] = 207958; m_Z[1][2] = 1328798; m_Z[1][3] = 1412733; m_Z[1][4] = 1766147; m_Z[1][5] = 1635199; m_Z[1][6] = 1565249; m_Z[1][7] = 949787; m_Z[1][8] = 1130386; m_Z[1][9] = 834164; m_Z[2][0] = 2080654; m_Z[2][1] = 1153485; m_Z[2][2] = 857538; m_Z[2][3] = 1363286; m_Z[2][4] = 2051956; m_Z[2][5] = 660288; m_Z[2][6] = 664975; m_Z[2][7] = 1831966; m_Z[2][8] = 1516991; m_Z[2][9] = 1284537; laglist1 = laggenr_from_to(1, 1, 3, &m_Z, m_datainfo, &err); laglist2 = laggenr_from_to(2, 1, 3, &m_Z, m_datainfo, &err); printlist(laglist1, "list of lags for var 1"); printlist(laglist2, "list of lags for var 2"); free(laglist1); free(laglist2); destroy_dataset(m_Z, m_datainfo); gretl_print_destroy(prn); libgretl_cleanup(); return 0; } Allin Cottrell