/[pspp]/pspp/src/matrix-data.c
ViewVC logotype

Diff of /pspp/src/matrix-data.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.31 by blp, Sat Sep 17 18:15:38 2005 UTC revision 1.32 by blp, Mon Oct 24 02:51:32 2005 UTC
# Line 132  struct matrix_data_pgm Line 132  struct matrix_data_pgm
132      struct variable *single_split; /* Single SPLIT FILE variable. */      struct variable *single_split; /* Single SPLIT FILE variable. */
133    
134      /* Factor variables.  */      /* Factor variables.  */
135      int n_factors;              /* Number of factor variables. */      size_t n_factors;           /* Number of factor variables. */
136      struct variable **factors;  /* Factor variables. */      struct variable **factors;  /* Factor variables. */
137      int is_per_factor[PROX + 1]; /* Is there per-factor data? */      int is_per_factor[PROX + 1]; /* Is there per-factor data? */
138    
# Line 204  cmd_matrix_data (void) Line 204  cmd_matrix_data (void)
204        if (lex_match_id ("VARIABLES"))        if (lex_match_id ("VARIABLES"))
205          {          {
206            char **v;            char **v;
207            int nv;            size_t nv;
208    
209            if (seen & 1)            if (seen & 1)
210              {              {
# Line 218  cmd_matrix_data (void) Line 218  cmd_matrix_data (void)
218              goto lossage;              goto lossage;
219                        
220            {            {
221              int i;              size_t i;
222    
223              for (i = 0; i < nv; i++)              for (i = 0; i < nv; i++)
224                if (!strcasecmp (v[i], "VARNAME_"))                if (!strcasecmp (v[i], "VARNAME_"))
# Line 233  cmd_matrix_data (void) Line 233  cmd_matrix_data (void)
233            }            }
234                        
235            {            {
236              int i;              size_t i;
237    
238              for (i = 0; i < nv; i++)              for (i = 0; i < nv; i++)
239                {                {
# Line 327  cmd_matrix_data (void) Line 327  cmd_matrix_data (void)
327            else            else
328              {              {
329                struct variable **split;                struct variable **split;
330                int n;                size_t n;
331    
332                if (!parse_variables (default_dict, &split, &n, PV_NO_DUPLICATE))                if (!parse_variables (default_dict, &split, &n, PV_NO_DUPLICATE))
333                  goto lossage;                  goto lossage;
# Line 366  cmd_matrix_data (void) Line 366  cmd_matrix_data (void)
366              }              }
367            seen |= 4;            seen |= 4;
368    
369            if (!parse_variables (default_dict, &mx->factors, &mx->n_factors, PV_NONE))            if (!parse_variables (default_dict, &mx->factors, &mx->n_factors,
370                                    PV_NONE))
371              goto lossage;              goto lossage;
372                        
373            {            {
374              int i;              size_t i;
375                            
376              for (i = 0; i < mx->n_factors; i++)              for (i = 0; i < mx->n_factors; i++)
377                {                {
# Line 571  cmd_matrix_data (void) Line 572  cmd_matrix_data (void)
572       system file output. */       system file output. */
573    {    {
574      struct variable **v;      struct variable **v;
575      int nv;      size_t nv;
576    
577      dict_get_vars (default_dict, &v, &nv, 0);      dict_get_vars (default_dict, &v, &nv, 0);
578      qsort (v, nv, sizeof *v, compare_variables_by_mxd_var_type);      qsort (v, nv, sizeof *v, compare_variables_by_mxd_var_type);
# Line 960  read_matrices_without_rowtype (struct ma Line 961  read_matrices_without_rowtype (struct ma
961    
962    nr.mx = mx;    nr.mx = mx;
963    nr.data = NULL;    nr.data = NULL;
964    nr.factor_values = xmalloc (sizeof *nr.factor_values * mx->n_factors * mx->cells);    nr.factor_values = xmalloc (sizeof *nr.factor_values
965                                  * mx->n_factors * mx->cells);
966    nr.max_cell_idx = 0;    nr.max_cell_idx = 0;
967    nr.split_values = xmalloc (sizeof *nr.split_values    nr.split_values = xmalloc (sizeof *nr.split_values
968                               * dict_get_split_cnt (default_dict));                               * dict_get_split_cnt (default_dict));
# Line 1309  nr_read_factors (struct nr_aux_data *nr, Line 1311  nr_read_factors (struct nr_aux_data *nr,
1311      }      }
1312                
1313    {    {
1314      int i;      size_t i;
1315            
1316      for (i = 0; i < mx->n_factors; i++)      for (i = 0; i < mx->n_factors; i++)
1317        {        {
# Line 1403  nr_output_data (struct nr_aux_data *nr, Line 1405  nr_output_data (struct nr_aux_data *nr,
1405        for (cell = 0; cell < mx->cells; cell++)        for (cell = 0; cell < mx->cells; cell++)
1406          {          {
1407            {            {
1408              int factor;              size_t factor;
1409    
1410              for (factor = 0; factor < mx->n_factors; factor++)              for (factor = 0; factor < mx->n_factors; factor++)
1411                {                {
# Line 1433  nr_output_data (struct nr_aux_data *nr, Line 1435  nr_output_data (struct nr_aux_data *nr,
1435      int content;      int content;
1436            
1437      {      {
1438        int factor;        size_t factor;
1439    
1440        for (factor = 0; factor < mx->n_factors; factor++)        for (factor = 0; factor < mx->n_factors; factor++)
1441          case_data_rw (c, mx->factors[factor]->fv)->f = SYSMIS;          case_data_rw (c, mx->factors[factor]->fv)->f = SYSMIS;
# Line 1664  wr_output_data (struct wr_aux_data *wr, Line 1666  wr_output_data (struct wr_aux_data *wr,
1666      for (iter = wr->data; iter; iter = iter->next)      for (iter = wr->data; iter; iter = iter->next)
1667        {        {
1668          {          {
1669            int factor;            size_t factor;
1670    
1671            for (factor = 0; factor < mx->n_factors; factor++)            for (factor = 0; factor < mx->n_factors; factor++)
1672              case_data_rw (c, mx->factors[factor]->fv)->f              case_data_rw (c, mx->factors[factor]->fv)->f
# Line 1765  wr_read_factors (struct wr_aux_data *wr) Line 1767  wr_read_factors (struct wr_aux_data *wr)
1767    
1768    wr->content = -1;    wr->content = -1;
1769    {    {
1770      int i;      size_t i;
1771        
1772      for (i = 0; i < mx->n_factors; i++)      for (i = 0; i < mx->n_factors; i++)
1773        {        {
# Line 1802  wr_read_factors (struct wr_aux_data *wr) Line 1804  wr_read_factors (struct wr_aux_data *wr)
1804       mechanism. */       mechanism. */
1805    if (wr->current)    if (wr->current)
1806      {      {
1807        int i;        size_t i;
1808                
1809        for (i = 0; i < mx->n_factors; i++)        for (i = 0; i < mx->n_factors; i++)
1810          if (factor_values[i] != wr->current->factors[i])          if (factor_values[i] != wr->current->factors[i])
# Line 1817  cache_miss: Line 1819  cache_miss:
1819    
1820      for (iter = wr->data; iter; iter = iter->next)      for (iter = wr->data; iter; iter = iter->next)
1821        {        {
1822          int i;          size_t i;
1823    
1824          for (i = 0; i < mx->n_factors; i++)          for (i = 0; i < mx->n_factors; i++)
1825            if (factor_values[i] != iter->factors[i])            if (factor_values[i] != iter->factors[i])
# Line 1834  cache_miss: Line 1836  cache_miss:
1836    {    {
1837      struct factor_data *new = pool_alloc (mx->container, sizeof *new);      struct factor_data *new = pool_alloc (mx->container, sizeof *new);
1838    
1839      new->factors = pool_alloc (mx->container, sizeof *new->factors * mx->n_factors);      new->factors = pool_alloc (mx->container,
1840                                   sizeof *new->factors * mx->n_factors);
1841            
1842      {      {
1843        int i;        size_t i;
1844    
1845        for (i = 0; i < mx->n_factors; i++)        for (i = 0; i < mx->n_factors; i++)
1846          new->factors[i] = factor_values[i];          new->factors[i] = factor_values[i];

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26