aboutsummaryrefslogtreecommitdiffstats
path: root/test/ccured_olden/power
diff options
context:
space:
mode:
Diffstat (limited to 'test/ccured_olden/power')
-rw-r--r--test/ccured_olden/power/.cvsignore21
-rw-r--r--test/ccured_olden/power/.gdbinit5
-rw-r--r--test/ccured_olden/power/CVS/Entries11
-rw-r--r--test/ccured_olden/power/CVS/Repository1
-rw-r--r--test/ccured_olden/power/CVS/Root1
-rw-r--r--test/ccured_olden/power/Makefile41
-rw-r--r--test/ccured_olden/power/README21
-rw-r--r--test/ccured_olden/power/build.c154
-rw-r--r--test/ccured_olden/power/compute.c379
-rw-r--r--test/ccured_olden/power/main.c116
-rw-r--r--test/ccured_olden/power/out.orig37
-rw-r--r--test/ccured_olden/power/output38
-rw-r--r--test/ccured_olden/power/power.h114
-rwxr-xr-xtest/ccured_olden/power/testit26
14 files changed, 0 insertions, 965 deletions
diff --git a/test/ccured_olden/power/.cvsignore b/test/ccured_olden/power/.cvsignore
deleted file mode 100644
index c4eadcc3..00000000
--- a/test/ccured_olden/power/.cvsignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*.i
-*_all*.c
-*cil.c
-*box.c
-code
-data.in
-data.out
-*.origi
-*_ppp.c
-power.cil
-power.*box
-*infer.c
-changes.out
-allcfiles
-ope.m
-*cured.c
-*.optim.c
-*_comb.c
-*.exe_comb.browser
-changes
-output
diff --git a/test/ccured_olden/power/.gdbinit b/test/ccured_olden/power/.gdbinit
deleted file mode 100644
index 81003d62..00000000
--- a/test/ccured_olden/power/.gdbinit
+++ /dev/null
@@ -1,5 +0,0 @@
-# .gdbinit
-
-file power.exe.orig
-break main
-run
diff --git a/test/ccured_olden/power/CVS/Entries b/test/ccured_olden/power/CVS/Entries
deleted file mode 100644
index fccdd5e3..00000000
--- a/test/ccured_olden/power/CVS/Entries
+++ /dev/null
@@ -1,11 +0,0 @@
-/README/1.1/Mon Jun 11 21:20:00 2001//
-/build.c/1.1/Mon Jun 11 21:20:00 2001//
-/compute.c/1.2/Wed Jun 13 18:16:23 2001//
-/main.c/1.2/Mon Jun 11 22:47:26 2001//
-/.gdbinit/1.1/Mon Nov 12 08:08:28 2001//
-/Makefile/1.5/Mon Nov 12 15:44:12 2001//
-/out.orig/1.1/Mon Nov 12 08:08:28 2001//
-/testit/1.1/Mon Nov 12 08:08:28 2001//
-/.cvsignore/1.10/Fri Oct 4 16:28:44 2002//
-/power.h/1.6/Sat Jan 11 20:33:38 2003//
-D
diff --git a/test/ccured_olden/power/CVS/Repository b/test/ccured_olden/power/CVS/Repository
deleted file mode 100644
index edf93de9..00000000
--- a/test/ccured_olden/power/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-cil/test/olden/power
diff --git a/test/ccured_olden/power/CVS/Root b/test/ccured_olden/power/CVS/Root
deleted file mode 100644
index 35f411e9..00000000
--- a/test/ccured_olden/power/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-/home/cvs-repository
diff --git a/test/ccured_olden/power/Makefile b/test/ccured_olden/power/Makefile
deleted file mode 100644
index 9396957b..00000000
--- a/test/ccured_olden/power/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-
-CC = gcc -arch ppc
-CCOMP=../../../ccomp
-CCOMPFLAGS=-dump-c
-
-CFLAGS = $(EXTRA_CFLAGS)
-#CFLAGS = -O2
-LDFLAGS = $(EXTRA_LDFLAGS)
-
-CFLAGS += -DPLAIN
-
-ifdef _MSVC
- # ...
-else
- MATH = -lm
- CFLAGS += -g -ffloat-store
- LDFLAGS += -g -ffloat-store
-endif
-
-PROGS = compute build main
-
-#defaulttarget: $(OBJS)
-# $(CC) $(LDFLAGS) $(OBJS) $(EXTRA_LIBS) -o power.exe $(MATH)
-
-all_s: $(PROGS:%=%.s)
-
-all: $(PROGS:%=%.compcert)
-
-all_gcc: $(PROGS:%=%.gcc)
-
-%.compcert: %.s
- $(CC) $(LDFALGS) -o $*.compcert $*.s
-
-%.s: %.c ../../../../ccomp
- $(CCOMP) $(CCOMPFLAGS) $*.c
-
-%.gcc: %.c
- $(CC) $(CFLAGS) $(LDFALGS) $(OPTFLAGS) -o $*.gcc $*.c
-
-clean:
- rm -f $(TARGET) $(OBJS) *~ *.obj *.o *.exe .make.state .nse_depinfo *.light.c *.s *.compcert
diff --git a/test/ccured_olden/power/README b/test/ccured_olden/power/README
deleted file mode 100644
index 478692e8..00000000
--- a/test/ccured_olden/power/README
+++ /dev/null
@@ -1,21 +0,0 @@
-/* For copyright information, see olden_v1.0/COPYRIGHT */
-**********************
-olden_v1.0/benchmarks/power/README
-January 3, 1995
-Martin C. Carlisle
-
-this directory contains the Power Pricing benchmark:
-
-S. Lumetta, L. Murphy, X. Li, D. Culler, and I. Khalil. "Decentralized
-optimal power pricing: The development of a parallel program."
-Supercomputing '93, 243-249
-
-as implemented for Olden by Martin C. Carlisle
-**********************
-
-Makefile - use "make power" to create executable
-
-args.c - process command line args
-main.c,power.h - main routines
-build.c - build tree
-compute.c - compute prices
diff --git a/test/ccured_olden/power/build.c b/test/ccured_olden/power/build.c
deleted file mode 100644
index 881b8e60..00000000
--- a/test/ccured_olden/power/build.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* For copyright information, see olden_v1.0/COPYRIGHT */
-
-/* build.c
- *
- * By: Martin C. Carlisle
- * 6/15/94
- * builds the tree for the Power Pricing problem
- *
- * based on code by: Steve Lumetta, Sherry Li, and Ismail Khalil
- * University of California at Berkeley
- */
-
-#include "power.h"
-
-Root build_tree()
-{
- register int i;
- register Root t;
-#ifdef FUTURES
- int j;
- future_cell_int fc[NUM_FEEDERS];
-#else
- register Lateral l;
-#endif
-
- t = (Root) ALLOC(0,sizeof(*t));
-#ifdef FUTURES
- for (i=0,j=0; i<NUM_FEEDERS; i++,j+=LATERALS_PER_FEEDER) {
- FUTURE(j,LATERALS_PER_FEEDER,build_lateral,&fc[i]);
- }
- for (i=0; i<NUM_FEEDERS; i++) {
- TOUCH(&fc[i]);
- t->feeders[i]=(Lateral) fc[i].value;
- }
-#else
- for (i=0; i<NUM_FEEDERS; i++) {
- /* Insert future here, split into two loops */
- l = build_lateral(i*LATERALS_PER_FEEDER,LATERALS_PER_FEEDER);
- t->feeders[i]=l;
- }
-#endif
- t->theta_R = 0.8;
- t->theta_I = 0.16;
- return t;
-}
-
-Lateral build_lateral(int i, int num)
-{
- register int j,k;
- register Lateral l;
- register Branch b;
-#ifdef FUTURES
- future_cell_int fc;
-#else
- register Lateral next;
-#endif
-
- if (num == 0) return NULL;
-
-#ifndef PLAIN
- { int x,m,q,proc;
- x = (i+num-1)*BRANCHES_PER_LATERAL+BRANCHES_PER_LATERAL-1;
- m = 1000%__NumNodes;
- q = 1000/__NumNodes;
- if (x<m*(q+1)) proc = x/(q+1);
- else proc = (x-m)/q;
- l = (Lateral) ALLOC(__NumNodes-1-proc,sizeof(*l));
- }
-#else
- l = (Lateral) ALLOC(0,sizeof(*l));
-#endif
-
-#ifdef FUTURES
- FUTURE(i,num-1,build_lateral,&fc);
- b = build_branch(i*BRANCHES_PER_LATERAL,(num-1)*BRANCHES_PER_LATERAL,
- BRANCHES_PER_LATERAL);
-#else
- next = build_lateral(i,num-1);
- b = build_branch(i*BRANCHES_PER_LATERAL,(num-1)*BRANCHES_PER_LATERAL,
- BRANCHES_PER_LATERAL);
-#endif
-
-#ifdef FUTURES
- TOUCH(&fc);
- l->next_lateral = (Lateral) fc.value;
-#else
- l->next_lateral = next;
-#endif
- l->branch = b;
- l->R = 1/300000.0;
- l->X = 0.000001;
- l->alpha = 0.0;
- l->beta = 0.0;
- return l;
-}
-
-Branch build_branch(int i, int j, int num)
-{
- register Leaf l;
- register Branch b;
-#ifdef FUTURES
- future_cell_int fc;
-#endif
-
- if (num == 0) return NULL;
- /* allocate branch */
-#ifndef PLAIN
- { int x,m,q,proc;
- x = i+j+num-1;
- m = 1000%__NumNodes;
- q = 1000/__NumNodes;
- if (x<m*(q+1)) proc = x/(q+1);
- else proc = (x-m)/q;
- b = (Branch) ALLOC(__NumNodes-1-proc,sizeof(*b));
- }
-#else
- b = (Branch) ALLOC(0,sizeof(*b));
-#endif
-
- /* fill in children */
-#ifndef FUTURES
- b->next_branch= build_branch(i,j,num-1);
-#else
- FUTURE(i,j,num-1,build_branch,&fc);
-#endif
-
- for (i=0; i<LEAVES_PER_BRANCH; i++) {
- l = build_leaf();
- b->leaves[i] = l;
- }
-
-
-#ifdef FUTURES
- TOUCH(&fc);
- b->next_branch = (Branch) fc.value;
-#endif
-
- /* fill in values */
- b->R = 0.0001;
- b->X = 0.00002;
- b->alpha = 0.0;
- b->beta = 0.0;
- return b;
-}
-
-Leaf build_leaf()
-{
- register Leaf l;
-
- l = (Leaf) mymalloc(sizeof(*l));
- l->D.P = 1.0;
- l->D.Q = 1.0;
- return l;
-}
diff --git a/test/ccured_olden/power/compute.c b/test/ccured_olden/power/compute.c
deleted file mode 100644
index 83d47b59..00000000
--- a/test/ccured_olden/power/compute.c
+++ /dev/null
@@ -1,379 +0,0 @@
-/* For copyright information, see olden_v1.0/COPYRIGHT */
-
-/* compute.c
- *
- * By: Martin C. Carlisle
- * 6/15/94
- *
- * Implements computation phase of the Power Pricing problem
- * based on code by: Steve Lumetta, Sherry Li, and Ismail Khalil
- * University of California at Berkeley
- *
- */
-
-#include "power.h"
-#include <math.h>
-
-/*----------------------------------------------------------------------*/
-/* Leaf optimization 'global' variables */
-
- static double P=1.0;
- static double Q=1.0;
-
-
-/*----------------------------------------------------------------------*/
-/* Leaf optimization procedures */
-
-void optimize_node (double pi_R, double pi_I);
-double find_g ();
-double find_h ();
-double find_gradient_f (double pi_R, double pi_I, local double* gradient);
-double find_gradient_g (local double* gradient);
-double find_gradient_h (local double* gradient);
-void find_dd_grad_f (double pi_R, double pi_I, local double* dd_grad);
-double make_orthogonal (local double* v_mod, local double* v_static);
-
-
-void Compute_Tree(Root r) {
- register int i;
- Lateral l;
-#ifndef FUTURES
- Demand a;
-#else
- future_cell_demand fc[NUM_FEEDERS];
-#endif
- Demand tmp;
- double theta_R,theta_I;
-
- tmp.P = 0.0;
- tmp.Q = 0.0;
-#ifndef FUTURES
- for (i=0; i<NUM_FEEDERS; i++) {
- l = r->feeders[i];
- theta_R = r->theta_R;
- theta_I = r->theta_I;
- a = Compute_Lateral(l,theta_R,theta_I,theta_R,theta_I);
- tmp.P += a.P;
- tmp.Q += a.Q;
-
- }
-#else
- for (i=0; i<NUM_FEEDERS; i++) {
- l = r->feeders[i];
- theta_R = r->theta_R;
- theta_I = r->theta_I;
- FUTURE(l,theta_R,theta_I,theta_R,theta_I,Compute_Lateral,&fc[i]);
- }
- for (i=NUM_FEEDERS-1; i>=0; i--) {
- TOUCH(&fc[i]);
- tmp.P += fc[i].value.P;
- tmp.Q += fc[i].value.Q;
- }
-#endif
- r->D.P = tmp.P;
- r->D.Q = tmp.Q;
-}
-
-Demand Compute_Lateral(Lateral l, double theta_R, double theta_I,
- double pi_R, double pi_I) {
-#ifndef FUTURES
- Demand a1;
-#else
- future_cell_demand fc;
-#endif
- Demand a2;
- double new_pi_R, new_pi_I;
- double a,b,c,root;
- Lateral next;
- Branch br;
-
- new_pi_R = pi_R + l->alpha*(theta_R+(theta_I*l->X)/l->R);
- new_pi_I = pi_I + l->beta*(theta_I+(theta_R*l->R)/l->X);
-
- next = l->next_lateral;
- if (next != NULL)
-#ifndef FUTURES
- a1 = Compute_Lateral(next,theta_R,theta_I,new_pi_R,new_pi_I);
-#else
- FUTURE(next,theta_R,theta_I,new_pi_R,new_pi_I,Compute_Lateral,&fc);
-#endif
-
- br = l->branch;
- a2 = Compute_Branch(br,theta_R,theta_I,new_pi_R,new_pi_I);
-
- if (next != NULL) {
-#ifndef FUTURES
- l->D.P = a1.P + a2.P;
- l->D.Q = a1.Q + a2.Q;
-#else
- TOUCH(&fc);
- l->D.P = a2.P + fc.value.P;
- l->D.Q = a2.Q + fc.value.Q;
-#endif
- } else {
- l->D.P = a2.P;
- l->D.Q = a2.Q;
- }
-
- /* compute P,Q */
- a = l->R*l->R + l->X*l->X;
- b = 2*l->R*l->X*l->D.Q - 2*l->X*l->X*l->D.P - l->R;
- c = l->R*l->D.Q - l->X*l->D.P;
- c = c*c + l->R*l->D.P;
- root = (-b-sqrt(b*b-4*a*c))/(2*a);
- l->D.Q = l->D.Q + ((root-l->D.P)*l->X)/l->R;
- l->D.P = root;
-
- /* compute alpha, beta */
- a = 2*l->R*l->D.P;
- b = 2*l->X*l->D.Q;
- l->alpha = a/(1-a-b);
- l->beta = b/(1-a-b);
- return l->D;
-}
-
-Demand Compute_Branch(Branch br, double theta_R, double theta_I,
- double pi_R, double pi_I) {
- Demand a2,tmp;
- double new_pi_R, new_pi_I;
- double a,b,c,root;
- Leaf l;
- Branch next;
- int i;
-#ifdef FUTURES
- future_cell_demand fc;
-#else
- Demand a1;
-#endif
-
- new_pi_R = pi_R + br->alpha*(theta_R+(theta_I*br->X)/br->R);
- new_pi_I = pi_I + br->beta*(theta_I+(theta_R*br->R)/br->X);
-
- next = br->next_branch;
- if (next != NULL) {
-#ifndef FUTURES
- a1 = Compute_Branch(next,theta_R,theta_I,new_pi_R,new_pi_I);
-#else
- FUTURE(next,theta_R,theta_I,new_pi_R,new_pi_I,Compute_Branch,&fc);
-#endif
- }
-
- /* Initialize tmp */
- tmp.P = 0.0; tmp.Q = 0.0;
-
- for (i=0; i<LEAVES_PER_BRANCH; i++) {
- l = br->leaves[i];
- a2 = Compute_Leaf(l,new_pi_R,new_pi_I);
- tmp.P += a2.P;
- tmp.Q += a2.Q;
- }
- if (next != NULL) {
-#ifndef FUTURES
- br->D.P = a1.P + tmp.P;
- br->D.Q = a1.Q + tmp.Q;
-#else
- TOUCH(&fc);
- br->D.P = fc.value.P + tmp.P;
- br->D.Q = fc.value.Q + tmp.Q;
-#endif
- } else {
- br->D.P = tmp.P;
- br->D.Q = tmp.Q;
- }
-
- /* compute P,Q */
- a = br->R*br->R + br->X*br->X;
- b = 2*br->R*br->X*br->D.Q - 2*br->X*br->X*br->D.P - br->R;
- c = br->R*br->D.Q - br->X*br->D.P;
- c = c*c + br->R*br->D.P;
- root = (-b-sqrt(b*b-4*a*c))/(2*a);
- br->D.Q = br->D.Q + ((root-br->D.P)*br->X)/br->R;
- br->D.P = root;
- /* compute alpha, beta */
- a = 2*br->R*br->D.P;
- b = 2*br->X*br->D.Q;
- br->alpha = a/(1-a-b);
- br->beta = b/(1-a-b);
-
- return br->D;
-}
-
-Demand Compute_Leaf(Leaf l, double pi_R, double pi_I) {
- P = l->D.P;
- Q = l->D.Q;
-
- optimize_node(pi_R,pi_I);
-
- if (P<0.0) {
- P = 0.0;
- Q = 0.0;
- }
- l->D.P = P;
- l->D.Q = Q;
- return l->D;
-}
-
-/*----------------------------------------------------------------------*/
-
-void optimize_node (double pi_R, double pi_I)
-{
- double g;
- double h;
-
- double grad_f[2];
- double grad_g[2];
- double grad_h[2];
- double dd_grad_f[2];
- double magnitude;
-
- int i;
- double total;
- double max_dist;
-
- do {
- /* Move onto h=0 line */
- h=find_h ();
- if (fabs (h)>H_EPSILON) {
- magnitude=find_gradient_h (grad_h);
- total=h/magnitude;
- P-=total*grad_h[0];
- Q-=total*grad_h[1];
- }
-
- /* Check that g is still valid */
- g=find_g ();
- if (g>G_EPSILON) {
- magnitude=find_gradient_g (grad_g);
- find_gradient_h (grad_h);
- magnitude*=make_orthogonal (grad_g,grad_h);
- total=g/magnitude;
- P-=total*grad_g[0];
- Q-=total*grad_g[1];
- }
-
- /* Maximize benefit */
- magnitude=find_gradient_f (pi_R,pi_I,grad_f);
- find_dd_grad_f (pi_R,pi_I,dd_grad_f);
- total=0.0;
- for (i=0; i<2; i++)
- total+=grad_f[i]*dd_grad_f[i];
- magnitude/=fabs (total);
- find_gradient_h (grad_h);
- magnitude*=make_orthogonal (grad_f,grad_h);
- find_gradient_g (grad_g);
- total=0.0;
- for (i=0; i<2; i++)
- total+=grad_f[i]*grad_g[i];
- if (total>0) {
- max_dist=-find_g ()/total;
- if (magnitude>max_dist)
- magnitude=max_dist;
- }
- P+=magnitude*grad_f[0];
- Q+=magnitude*grad_f[1];
-
- h=find_h ();
- g=find_g ();
- find_gradient_f (pi_R,pi_I,grad_f);
- find_gradient_h (grad_h);
-
- } while (fabs (h)>H_EPSILON || g>G_EPSILON ||
- (fabs (g)>G_EPSILON &&
- fabs (grad_f[0]*grad_h[1]-grad_f[1]*grad_h[0])>F_EPSILON));
-}
-
-double find_g ()
-{
- return (P*P+Q*Q-0.8);
-}
-
-double find_h ()
-{
- return (P-5*Q);
-}
-
-double find_gradient_f (double pi_R, double pi_I, local double* gradient)
-{
- int i;
- double magnitude=0.0;
-
- gradient[0]=1/(1+P)-pi_R;
- gradient[1]=1/(1+Q)-pi_I;
- for (i=0; i<2; i++)
- magnitude+=gradient[i]*gradient[i];
- magnitude=sqrt (magnitude);
- for (i=0; i<2; i++)
- gradient[i]/=magnitude;
-
- return magnitude;
-}
-
-double find_gradient_g (local double* gradient)
-{
- int i;
- double magnitude=0.0;
-
- gradient[0]=2*P;
- gradient[1]=2*Q;
- for (i=0; i<2; i++)
- magnitude+=gradient[i]*gradient[i];
- magnitude=sqrt (magnitude);
- for (i=0; i<2; i++)
- gradient[i]/=magnitude;
-
- return magnitude;
-}
-
-double find_gradient_h (local double* gradient)
-{
- int i;
- double magnitude=0.0;
-
- gradient[0]=1.0;
- gradient[1]=-5.0;
- for (i=0; i<2; i++)
- magnitude+=gradient[i]*gradient[i];
- magnitude=sqrt (magnitude);
- for (i=0; i<2; i++)
- gradient[i]/=magnitude;
-
- return magnitude;
-}
-
-void find_dd_grad_f (double pi_R, double pi_I, local double* dd_grad)
-{
- double P_plus_1_inv=1/(P+1);
- double Q_plus_1_inv=1/(Q+1);
- double P_grad_term=P_plus_1_inv-pi_R;
- double Q_grad_term=Q_plus_1_inv-pi_I;
- double grad_mag;
-
- grad_mag=sqrt (P_grad_term*P_grad_term+Q_grad_term*Q_grad_term);
-
- dd_grad[0]=-P_plus_1_inv*P_plus_1_inv*P_grad_term/grad_mag;
- dd_grad[1]=-Q_plus_1_inv*Q_plus_1_inv*Q_grad_term/grad_mag;
-}
-
-double make_orthogonal (local double* v_mod, local double* v_static)
-{
- int i;
- double total=0.0;
- double length=0.0;
-
- for (i=0; i<2; i++)
- total+=v_mod[i]*v_static[i];
- for (i=0; i<2; i++) {
- v_mod[i]-=total*v_static[i];
- length+=v_mod[i]*v_mod[i];
- }
- length=sqrt (length);
- for (i=0; i<2; i++)
- v_mod[i]/=length;
-
- if (1-total*total<0) /* Roundoff error--vectors are parallel */
- return 0;
-
- return sqrt (1-total*total);
-}
-
-/*----------------------------------------------------------------------*/
diff --git a/test/ccured_olden/power/main.c b/test/ccured_olden/power/main.c
deleted file mode 100644
index 0fb87c0f..00000000
--- a/test/ccured_olden/power/main.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* For copyright information, see olden_v1.0/COPYRIGHT */
-
-/* main.c
- *
- * By: Martin C. Carlisle
- * 6/16/94
- *
- * main routine for the Power Pricing problem
- * adapted from code by: Steve Lumetta, Sherry Li, and Ismail Khalil
- * University of California at Berkeley
- *
- * Cleaned up the CM stuff. George Necula
- */
-
-#include "power.h"
-
-/* Domain of thetaR->P map is 0.65 to 1.00 [index*0.01+0.65] */
-double map_P[36] =
-{8752.218091048, 8446.106670416, 8107.990680283,
- 7776.191574285, 7455.920518777, 7146.602181352,
- 6847.709026813, 6558.734204024, 6279.213382291,
- 6008.702199986, 5746.786181029, 5493.078256495,
- 5247.206333097, 5008.828069358, 4777.615815166,
- 4553.258735900, 4335.470002316, 4123.971545694,
- 3918.501939675, 3718.817618538, 3524.683625800,
- 3335.876573044, 3152.188635673, 2973.421417103,
- 2799.382330486, 2629.892542617, 2464.782829705,
- 2303.889031418, 2147.054385395, 1994.132771399,
- 1844.985347313, 1699.475053321, 1557.474019598,
- 1418.860479043, 1283.520126656, 1151.338004216};
-
-#define MIN_THETA_R 0.65
-#define PER_INDEX_R 0.01
-#define MAX_THETA_R 0.995
-
-/* Domain of thetaI->Q map is 0.130 to 0.200 [index*0.002+0.130] */
-double map_Q[36] =
-{1768.846590190, 1706.229490046, 1637.253873079,
- 1569.637451623, 1504.419525242, 1441.477913810,
- 1380.700660446, 1321.980440476, 1265.218982201,
- 1210.322424636, 1157.203306183, 1105.780028163,
- 1055.974296746, 1007.714103979, 960.930643875,
- 915.558722782, 871.538200178, 828.810882006,
- 787.322098340, 747.020941334, 707.858376214,
- 669.787829741, 632.765987756, 596.751545633,
- 561.704466609, 527.587580585, 494.365739051,
- 462.004890691, 430.472546686, 399.738429196,
- 369.773787595, 340.550287137, 312.041496095,
- 284.222260660, 257.068973074, 230.557938283};
-
-#define MIN_THETA_I 0.13
-#define PER_INDEX_I 0.002
-#define MAX_THETA_I 0.199
-
-#ifdef PLAIN
-double wallclock;
-#endif
-
-main(int argc,char *argv[])
-{
- Root r;
- int i,finished=0;
- double d_theta_R,d_theta_I;
-
- chatting("Past initialization\n");
-
- timer_start(0);
-
- /* initial pass */
- r = build_tree();
- chatting("Built tree\n");
- Compute_Tree(r);
- r->last.P = r->D.P;
- r->last.Q = r->D.Q;
- r->last_theta_R = r->theta_R;
- r->last_theta_I = r->theta_I;
- r->theta_R = 0.7;
- r->theta_I = 0.14;
-
- while (!finished) {
- Compute_Tree(r);
- chatting("TR=%13.9f, TI=%13.9f, P0=%13.9f, Q0=%13.9f\n",
- r->theta_R,r->theta_I,r->D.P,r->D.Q);
- if (fabs(r->D.P/10000.0 - r->theta_R) < ROOT_EPSILON &&
- fabs(r->D.Q/10000.0 - r->theta_I) < ROOT_EPSILON) {
- finished = 1;
- } else {
- i = (int)((r->theta_R - MIN_THETA_R) / PER_INDEX_R);
- if (i<0) i=0;
- if (i>35) i=35;
- d_theta_R = -(r->theta_R - r->D.P/10000.0) /
- (1 - (map_P[i+1] - map_P[i]) / (PER_INDEX_R * 10000.0));
-
- i = (int)((r->theta_I - MIN_THETA_I) / PER_INDEX_I);
- if (i<0) i=0;
- if (i>35) i=35;
- d_theta_I = -(r->theta_I - r->D.Q/10000.0) /
- (1 - (map_Q[i+1] - map_Q[i]) / (PER_INDEX_I * 10000.0));
-
- chatting("D TR-%13.9f, TI=%13.9f\n", d_theta_R,d_theta_I);
- r->last.P = r->D.P;
- r->last.Q = r->D.Q;
- r->last_theta_R = r->theta_R;
- r->last_theta_I = r->theta_I;
- r->theta_R = r->theta_R + d_theta_R;
- r->theta_I = r->theta_I + d_theta_I;
- }
- } /* while */
- timer_stop(0);
- chatting("Elapsed time %f\n", timer_elapsed(0));
-
-#ifdef FUTURES
- __ShutDown(0);
-#endif
- return 0;
-}
diff --git a/test/ccured_olden/power/out.orig b/test/ccured_olden/power/out.orig
deleted file mode 100644
index ce4ccae8..00000000
--- a/test/ccured_olden/power/out.orig
+++ /dev/null
@@ -1,37 +0,0 @@
-Past initialization
-Built tree
-TR= 0.70000, TI= 0.14000, P0=7368.11283, Q0=1486.61206
-D TR- 0.00899, TI= 0.00214
-TR= 0.70899, TI= 0.14214, P0=6825.69077, Q0=1376.20403
-D TR- -0.00662, TI= -0.00114
-TR= 0.70236, TI= 0.14099, P0=7102.87981, Q0=1432.59759
-D TR- 0.00198, TI= 0.00056
-TR= 0.70435, TI= 0.14155, P0=7000.94922, Q0=1411.85085
-D TR- -0.00106, TI= -0.00009
-TR= 0.70328, TI= 0.14146, P0=7047.52523, Q0=1421.32891
-D TR- 0.00036, TI= 0.00016
-TR= 0.70365, TI= 0.14162, P0=7029.01641, Q0=1417.56197
-D TR- -0.00018, TI= 0.00003
-TR= 0.70346, TI= 0.14166, P0=7037.01709, Q0=1419.19017
-D TR- 0.00005, TI= 0.00006
-TR= 0.70352, TI= 0.14172, P0=7033.77002, Q0=1418.52933
-D TR- -0.00003, TI= 0.00003
-TR= 0.70348, TI= 0.14175, P0=7035.10974, Q0=1418.80198
-D TR- 0.00000, TI= 0.00003
-TR= 0.70349, TI= 0.14178, P0=7034.59229, Q0=1418.69667
-D TR- -0.00000, TI= 0.00002
-TR= 0.70348, TI= 0.14180, P0=7034.76550, Q0=1418.73192
-D TR- -0.00000, TI= 0.00001
-TR= 0.70348, TI= 0.14182, P0=7034.73206, Q0=1418.72511
-D TR- -0.00000, TI= 0.00001
-TR= 0.70348, TI= 0.14183, P0=7034.72701, Q0=1418.72409
-D TR- -0.00000, TI= 0.00000
-TR= 0.70347, TI= 0.14184, P0=7034.72601, Q0=1418.72388
-D TR- -0.00000, TI= 0.00000
-TR= 0.70347, TI= 0.14185, P0=7034.72675, Q0=1418.72403
-D TR- -0.00000, TI= 0.00000
-TR= 0.70347, TI= 0.14185, P0=7034.72767, Q0=1418.72422
-D TR- -0.00000, TI= 0.00000
-TR= 0.70347, TI= 0.14186, P0=7034.72812, Q0=1418.72431
-D TR- -0.00000, TI= 0.00000
-TR= 0.70347, TI= 0.14186, P0=7034.72817, Q0=1418.72432
diff --git a/test/ccured_olden/power/output b/test/ccured_olden/power/output
deleted file mode 100644
index 5d8d9f14..00000000
--- a/test/ccured_olden/power/output
+++ /dev/null
@@ -1,38 +0,0 @@
-Past initialization
-Built tree
-TR= 0.700000000, TI= 0.140000000, P0=7368.112832298, Q0=1486.612062522
-D TR- 0.008993314, TI= 0.002144467
-TR= 0.708993314, TI= 0.142144467, P0=6825.690778967, Q0=1376.204035288
-D TR- -0.006624389, TI= -0.001149403
-TR= 0.702368925, TI= 0.140995064, P0=7102.879810214, Q0=1432.597592989
-D TR- 0.001985258, TI= 0.000560726
-TR= 0.704354182, TI= 0.141555790, P0=7000.949225527, Q0=1411.850856419
-D TR- -0.001067770, TI= -0.000091784
-TR= 0.703286413, TI= 0.141464005, P0=7047.525235387, Q0=1421.328911557
-D TR- 0.000367545, TI= 0.000165612
-TR= 0.703653957, TI= 0.141629618, P0=7029.016413235, Q0=1417.561973965
-D TR- -0.000188601, TI= 0.000031340
-TR= 0.703465356, TI= 0.141660958, P0=7037.017091019, Q0=1419.190170854
-D TR- 0.000059252, TI= 0.000063894
-TR= 0.703524609, TI= 0.141724852, P0=7033.770028540, Q0=1418.529337079
-D TR- -0.000037004, TI= 0.000031712
-TR= 0.703487605, TI= 0.141756564, P0=7035.109740779, Q0=1418.801987979
-D TR- 0.000005859, TI= 0.000030611
-TR= 0.703493463, TI= 0.141787176, P0=7034.592291756, Q0=1418.696672935
-D TR- -0.000008582, TI= 0.000020424
-TR= 0.703484881, TI= 0.141807600, P0=7034.765506561, Q0=1418.731929644
-D TR- -0.000002088, TI= 0.000016240
-TR= 0.703482793, TI= 0.141823841, P0=7034.732061514, Q0=1418.725114927
-D TR- -0.000002403, TI= 0.000012051
-TR= 0.703480389, TI= 0.141835891, P0=7034.727015389, Q0=1418.724090079
-D TR- -0.000001927, TI= 0.000009042
-TR= 0.703478462, TI= 0.141844933, P0=7034.726010052, Q0=1418.723886296
-D TR- -0.000001469, TI= 0.000006798
-TR= 0.703476993, TI= 0.141851731, P0=7034.726755730, Q0=1418.724038175
-D TR- -0.000001082, TI= 0.000005119
-TR= 0.703475910, TI= 0.141856849, P0=7034.727670658, Q0=1418.724224195
-D TR- -0.000000788, TI= 0.000003856
-TR= 0.703475122, TI= 0.141860705, P0=7034.728128768, Q0=1418.724317198
-D TR- -0.000000579, TI= 0.000002903
-TR= 0.703474543, TI= 0.141863609, P0=7034.728179600, Q0=1418.724327425
-Elapsed time 5130.000000
diff --git a/test/ccured_olden/power/power.h b/test/ccured_olden/power/power.h
deleted file mode 100644
index b8fbd2dd..00000000
--- a/test/ccured_olden/power/power.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/* For copyright information, see olden_v1.0/COPYRIGHT */
-
-/*
- * power.h
- *
- * By: Martin C. Carlisle
- * 6/15/94
- *
- * Header file for the Power Pricing problem
- * adapted from code by Steve Lumetta, Sherry Li, and Ismail Khalil
- * University of California at Berkeley
- *
- */
-
-typedef struct demand {
- double P;
- double Q;
-} Demand;
-
-#ifndef PLAIN
-#include "future-cell.h"
-#include "mem-ref.h"
-typedef struct fc_demand {
- future_cell_impl impl;
- Demand value; /* cell's value */
- } future_cell_demand;
-#endif
-
-#ifdef PLAIN
-#include <time.h>
-#define local
-#define mymalloc malloc
-#define CMMD_node_timer_clear(x) (void)0
-#define TIMESTART(clk) {clk=(double)clock();}
-#define TIMESTOP(clk) {clk=1000000.0 * ((double)clock()-(clk))/CLOCKS_PER_SEC;}
-extern double wallclock;
-#define timer_start(x) TIMESTART(wallclock)
-#define timer_stop(x) TIMESTOP(wallclock)
-#define timer_elapsed(x) (wallclock / 1000.0)
-#endif
-
-#include "math.h"
-#include <stdlib.h> // malloc
-#include <stdio.h> // printf
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#define NUM_FEEDERS 10
-#define LATERALS_PER_FEEDER 20
-#define BRANCHES_PER_LATERAL 5
-#define LEAVES_PER_BRANCH 10
-
-#define F_EPSILON 0.000001
-#define G_EPSILON 0.000001
-#define H_EPSILON 0.000001
-#define ROOT_EPSILON 0.00001
-
-typedef struct root {
- Demand D;
- double theta_R;
- double theta_I;
- Demand last;
- double last_theta_R;
- double last_theta_I;
- struct lateral *feeders[NUM_FEEDERS];
-} *Root;
-
-typedef struct lateral {
- Demand D;
- double alpha;
- double beta;
- double R;
- double X;
- struct lateral *next_lateral;
- struct branch *branch;
-} *Lateral;
-
-typedef struct branch {
- Demand D;
- double alpha;
- double beta;
- double R;
- double X;
- struct branch *next_branch;
- struct leaf *leaves[LEAVES_PER_BRANCH];
-} *Branch;
-
-typedef struct leaf {
- Demand D;
- double pi_R;
- double pi_I;
-} *Leaf;
-
-#ifdef PLAIN
-#define ALLOC(pn,sz) malloc(sz)
-#define chatting printf
-#define __NumNodes 1
-#define __MyNodeId 0
-#endif
-
-/* Prototypes */
-Root build_tree();
-Lateral build_lateral(int i, int num);
-Branch build_branch(int i, int j, int num);
-Leaf build_leaf();
-
-void Compute_Tree(Root r);
-Demand Compute_Lateral(Lateral l, double theta_R, double theta_I,
- double pi_R, double pi_I);
-Demand Compute_Branch(Branch b, double theta_R, double theta_I,
- double pi_R, double pi_I);
-Demand Compute_Leaf(Leaf l, double pi_R, double pi_I);
diff --git a/test/ccured_olden/power/testit b/test/ccured_olden/power/testit
deleted file mode 100755
index b5132dd7..00000000
--- a/test/ccured_olden/power/testit
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-# test a power binary
-
-if [ "$1" = "" ]; then
- echo "usage: $0 ./power.exe"
- exit
-fi
-
-# all of power's output is to stdout
-echo "running: $1 >output"
-if ! $1 >output; then
- echo "$1 failed directly"
- exit 2
-fi
-
-# must strip elapsed time
-# must truncate precision to only 5 decimal places, because gcc's optimizer
-# (even with -ffloat-store) seems to change the answer under boxing
-if ! grep -v "Elapsed time" <output | \
- sed 's/\(\.[0-9]\{5\}\)[0-9]*/\1/g' | diff out.orig - >/dev/null; then
- echo "$1 got the wrong answer"
- exit 4
-else
- echo "$1 seems to work"
-fi
- \ No newline at end of file