/* PSPP - a program for statistical analysis.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2009 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 <libpspp/str.h>
#include <data/variable.h>
#include <data/procedure.h>
-#include <libpspp/alloc.h>
#include <libpspp/misc.h>
#include "group.h"
#include <math.h>
#include <stdlib.h>
+#include "xalloc.h"
+
/* This module calculates the Levene statistic for variables.
enum mv_class exclude)
{
struct casereader *pass1, *pass2;
- struct ccase c;
+ struct ccase *c;
struct levene_info l;
l.n_dep = n_dep;
casereader_split (reader, &pass1, &pass2);
levene_precalc (&l);
- for (; casereader_read (pass1, &c); case_destroy (&c))
- levene_calc (dict, &c, &l);
+ for (; (c = casereader_read (pass1)) != NULL; case_unref (c))
+ levene_calc (dict, c, &l);
casereader_destroy (pass1);
levene_postcalc (&l);
levene2_precalc(&l);
- for (; casereader_read (pass2, &c); case_destroy (&c))
- levene2_calc (dict, &c, &l);
+ for (; (c = casereader_read (pass2)) != NULL; case_unref (c))
+ levene2_calc (dict, c, &l);
casereader_destroy (pass2);
levene2_postcalc (&l);
struct hsh_table *hash = group_proc_get (var)->group_hash;
- for(g = (struct group_statistics *) hsh_first(hash,&hi);
- g != 0 ;
- g = (struct group_statistics *) hsh_next(hash,&hi) )
+ for (g = hsh_first(hash,&hi); g != 0; g = hsh_next(hash, &hi))
{
g->lz_mean = g->lz_total / g->n ;
}
struct group_proc *gp = group_proc_get (var);
struct hsh_table *hash = gp->group_hash;
- for(g = (struct group_statistics *) hsh_first(hash,&hi);
- g != 0 ;
- g = (struct group_statistics *) hsh_next(hash,&hi) )
+ for (g = hsh_first(hash, &hi); g != 0; g = hsh_next(hash, &hi))
{
lz_numerator += g->n * pow2(g->lz_mean - l->lz[v].grand_mean );
}