/* PSPP - a program for statistical analysis.
- Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
-#include <data/casewindow.h>
+#include "data/casewindow.h"
#include <stdlib.h>
-#include <data/case-tmpfile.h>
-#include <libpspp/assertion.h>
-#include <libpspp/compiler.h>
-#include <libpspp/deque.h>
-#include <libpspp/taint.h>
+#include "data/case-tmpfile.h"
+#include "libpspp/assertion.h"
+#include "libpspp/compiler.h"
+#include "libpspp/deque.h"
+#include "libpspp/taint.h"
-#include "xalloc.h"
+#include "gl/xalloc.h"
/* A queue of cases. */
struct casewindow
void *(*create) (struct taint *, const struct caseproto *);
void (*destroy) (void *aux);
void (*push_head) (void *aux, struct ccase *);
- void (*pop_tail) (void *aux, casenumber cnt);
+ void (*pop_tail) (void *aux, casenumber n);
struct ccase *(*get_case) (void *aux, casenumber ofs);
- casenumber (*get_case_cnt) (const void *aux);
+ casenumber (*get_n_cases) (const void *aux);
};
/* Classes. */
{
struct casewindow *new;
new = do_casewindow_create (taint_clone (old->taint), old->proto, 0);
- while (casewindow_get_case_cnt (old) > 0 && !casewindow_error (new))
+ while (casewindow_get_n_cases (old) > 0 && !casewindow_error (new))
{
struct ccase *c = casewindow_get_case (old, 0);
if (c == NULL)
cw->class->push_head (cw->aux, c);
if (!casewindow_error (cw))
{
- casenumber case_cnt = cw->class->get_case_cnt (cw->aux);
- if (case_cnt > cw->max_in_core_cases
+ casenumber n_cases = cw->class->get_n_cases (cw->aux);
+ if (n_cases > cw->max_in_core_cases
&& cw->class == &casewindow_memory_class)
casewindow_to_disk (cw);
}
case_unref (c);
}
-/* Deletes CASE_CNT cases at the tail of casewindow CW. */
+/* Deletes N_CASES cases at the tail of casewindow CW. */
void
-casewindow_pop_tail (struct casewindow *cw, casenumber case_cnt)
+casewindow_pop_tail (struct casewindow *cw, casenumber n_cases)
{
if (!casewindow_error (cw))
- cw->class->pop_tail (cw->aux, case_cnt);
+ cw->class->pop_tail (cw->aux, n_cases);
}
/* Returns the case that is CASE_IDX cases away from CW's tail
struct ccase *
casewindow_get_case (const struct casewindow *cw_, casenumber case_idx)
{
- struct casewindow *cw = (struct casewindow *) cw_;
+ struct casewindow *cw = CONST_CAST (struct casewindow *, cw_);
- assert (case_idx >= 0 && case_idx < casewindow_get_case_cnt (cw));
+ assert (case_idx >= 0 && case_idx < casewindow_get_n_cases (cw));
if (casewindow_error (cw))
return NULL;
return cw->class->get_case (cw->aux, case_idx);
/* Returns the number of cases in casewindow CW. */
casenumber
-casewindow_get_case_cnt (const struct casewindow *cw)
+casewindow_get_n_cases (const struct casewindow *cw)
{
- return cw->class->get_case_cnt (cw->aux);
+ return cw->class->get_n_cases (cw->aux);
}
/* Returns the case prototype for the cases in casewindow CW.
}
static void
-casewindow_memory_pop_tail (void *cwm_, casenumber case_cnt)
+casewindow_memory_pop_tail (void *cwm_, casenumber n_cases)
{
struct casewindow_memory *cwm = cwm_;
- assert (deque_count (&cwm->deque) >= case_cnt);
- while (case_cnt-- > 0)
+ assert (deque_count (&cwm->deque) >= n_cases);
+ while (n_cases-- > 0)
case_unref (cwm->cases[deque_pop_front (&cwm->deque)]);
}
}
static casenumber
-casewindow_memory_get_case_cnt (const void *cwm_)
+casewindow_memory_get_n_cases (const void *cwm_)
{
const struct casewindow_memory *cwm = cwm_;
return deque_count (&cwm->deque);
casewindow_memory_push_head,
casewindow_memory_pop_tail,
casewindow_memory_get_case,
- casewindow_memory_get_case_cnt,
+ casewindow_memory_get_n_cases,
};
\f
/* On-disk casewindow data. */
}
static void
-casewindow_file_pop_tail (void *cwf_, casenumber cnt)
+casewindow_file_pop_tail (void *cwf_, casenumber n)
{
struct casewindow_file *cwf = cwf_;
- assert (cnt <= cwf->head - cwf->tail);
- cwf->tail += cnt;
+ assert (n <= cwf->head - cwf->tail);
+ cwf->tail += n;
if (cwf->head == cwf->tail)
cwf->head = cwf->tail = 0;
}
}
static casenumber
-casewindow_file_get_case_cnt (const void *cwf_)
+casewindow_file_get_n_cases (const void *cwf_)
{
const struct casewindow_file *cwf = cwf_;
return cwf->head - cwf->tail;
casewindow_file_push_head,
casewindow_file_pop_tail,
casewindow_file_get_case,
- casewindow_file_get_case_cnt,
+ casewindow_file_get_n_cases,
};