[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp/src/math ChangeLog moments.c
From: |
Ben Pfaff |
Subject: |
[Pspp-cvs] pspp/src/math ChangeLog moments.c |
Date: |
Mon, 05 Feb 2007 23:43:23 +0000 |
CVSROOT: /cvsroot/pspp
Module name: pspp
Changes by: Ben Pfaff <blp> 07/02/05 23:43:23
Modified files:
src/math : ChangeLog moments.c
Log message:
Reduce number of multiplications for higher moments.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/ChangeLog?cvsroot=pspp&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/moments.c?cvsroot=pspp&r1=1.4&r2=1.5
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/math/ChangeLog,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- ChangeLog 7 Dec 2006 06:31:04 -0000 1.12
+++ ChangeLog 5 Feb 2007 23:43:23 -0000 1.13
@@ -1,3 +1,7 @@
+Mon Feb 5 15:42:14 2007 Ben Pfaff <address@hidden>
+
+ * moments.c (moments_pass_two): Reduce number of multiplications.
+
Thu Dec 7 15:27:49 WST 2006 John Darrington <address@hidden>
* factor-stats.c factor-stats.h: Changed independent values to
Index: moments.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/math/moments.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- moments.c 5 Feb 2007 21:15:18 -0000 1.4
+++ moments.c 5 Feb 2007 23:43:23 -0000 1.5
@@ -151,8 +151,6 @@
void
moments_pass_two (struct moments *m, double value, double weight)
{
- double d, d_power;
-
assert (m != NULL);
if (m->pass == 1)
@@ -164,28 +162,25 @@
if (value != SYSMIS && weight >= 0.)
{
- m->w2 += weight;
-
- d = d_power = value - m->mean;
- m->d1 += d_power * weight;
-
+ double d = value - m->mean;
+ double d1_delta = d * weight;
+ m->d1 += d1_delta;
if (m->max_moment >= MOMENT_VARIANCE)
{
- d_power *= d;
- m->d2 += d_power * weight;
-
+ double d2_delta = d1_delta * d;
+ m->d2 += d2_delta;
if (m->max_moment >= MOMENT_SKEWNESS)
{
- d_power *= d;
- m->d3 += d_power * weight;
-
+ double d3_delta = d2_delta * d;
+ m->d3 += d3_delta;
if (m->max_moment >= MOMENT_KURTOSIS)
{
- d_power *= d;
- m->d4 += d_power * weight;
+ double d4_delta = d3_delta * d;
+ m->d4 += d4_delta;
}
}
}
+ m->w2 += weight;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp/src/math ChangeLog moments.c,
Ben Pfaff <=