/[cmucl]/src/benchmarks/richards/types.h
ViewVC logotype

Contents of /src/benchmarks/richards/types.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Wed Feb 19 18:01:24 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, double-double-array-base, post-merge-intl-branch, release-19b-pre1, release-19b-pre2, merged-unicode-utf16-extfmt-2009-06-11, double-double-init-sparc-2, unicode-utf16-extfmt-2009-03-27, double-double-base, snapshot-2007-09, snapshot-2007-08, snapshot-2008-08, snapshot-2008-09, ppc_gencgc_snap_2006-01-06, sse2-packed-2008-11-12, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2007-05, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, intl-branch-working-2010-02-19-1000, snapshot-2006-11, snapshot-2006-10, double-double-init-sparc, snapshot-2006-12, unicode-string-buffer-impl-base, sse2-base, release-20b-pre1, release-20b-pre2, unicode-string-buffer-base, sse2-packed-base, sparc-tramp-assem-2010-07-19, amd64-dd-start, snapshot-2003-10, snapshot-2004-10, release-18e-base, release-19f-pre1, snapshot-2008-12, snapshot-2008-11, intl-2-branch-base, snapshot-2004-08, snapshot-2004-09, remove_negative_zero_not_zero, snapshot-2007-01, snapshot-2007-02, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, release-19e, release-19d, GIT-CONVERSION, double-double-init-ppc, release-19c, dynamic-extent-base, unicode-utf16-sync-2008-12, LINKAGE_TABLE, release-19c-base, cross-sol-x86-merged, label-2009-03-16, release-19f-base, PRE_LINKAGE_TABLE, merge-sse2-packed, mod-arith-base, sparc_gencgc_merge, merge-with-19f, snapshot-2004-12, snapshot-2004-11, intl-branch-working-2010-02-11-1000, unicode-snapshot-2009-05, unicode-snapshot-2009-06, amd64-merge-start, ppc_gencgc_snap_2005-12-17, double-double-init-%make-sparc, unicode-utf16-sync-2008-07, release-18e-pre2, unicode-utf16-sync-2008-09, unicode-utf16-extfmts-sync-2008-12, prm-before-macosx-merge-tag, cold-pcl-base, RELEASE_20b, snapshot-2008-04, snapshot-2003-11, snapshot-2005-07, unicode-utf16-sync-label-2009-03-16, RELEASE_19f, snapshot-2007-03, release-20a-base, cross-sol-x86-base, unicode-utf16-char-support-2009-03-26, unicode-utf16-char-support-2009-03-25, release-19a-base, unicode-utf16-extfmts-pre-sync-2008-11, snapshot-2008-10, sparc_gencgc, snapshot-2007-04, snapshot-2010-12, snapshot-2010-11, unicode-utf16-sync-2008-11, snapshot-2007-07, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2007-06, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, snapshot-2003-12, release-19a-pre1, release-19a-pre3, release-19a-pre2, pre-merge-intl-branch, release-19a, UNICODE-BASE, double-double-array-checkpoint, double-double-reader-checkpoint-1, release-19d-base, release-19e-pre1, double-double-irrat-end, release-19e-pre2, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, release-19d-pre2, release-19d-pre1, snapshot-2010-08, release-18e, double-double-init-checkpoint-1, double-double-reader-base, label-2009-03-25, snapshot-2005-03, release-19b-base, cross-sol-x86-2010-12-20, double-double-init-x86, sse2-checkpoint-2008-10-01, intl-branch-2010-03-18-1300, snapshot-2005-11, double-double-sparc-checkpoint-1, snapshot-2004-04, sse2-merge-with-2008-11, sse2-merge-with-2008-10, snapshot-2005-10, RELEASE_20a, snapshot-2005-12, release-20a-pre1, snapshot-2005-01, snapshot-2009-11, snapshot-2009-12, unicode-utf16-extfmt-2009-06-11, portable-clx-import-2009-06-16, unicode-utf16-string-support, release-19c-pre1, cross-sparc-branch-base, release-19e-base, intl-branch-base, double-double-irrat-start, snapshot-2005-06, snapshot-2005-05, snapshot-2005-04, ppc_gencgc_snap_2005-05-14, snapshot-2005-02, unicode-utf16-base, portable-clx-base, snapshot-2005-09, snapshot-2005-08, lisp-executable-base, snapshot-2009-08, snapshot-2007-12, snapshot-2007-10, snapshot-2007-11, snapshot-2009-02, snapshot-2009-01, snapshot-2009-07, snapshot-2009-05, snapshot-2009-04, snapshot-2006-02, snapshot-2006-03, release-18e-pre1, snapshot-2006-01, snapshot-2006-06, snapshot-2006-07, snapshot-2006-04, snapshot-2006-05, pre-telent-clx, snapshot-2006-08, snapshot-2006-09, HEAD
Branch point for: release-19b-branch, double-double-reader-branch, double-double-array-branch, mod-arith-branch, RELEASE-19F-BRANCH, portable-clx-branch, sparc_gencgc_branch, cross-sparc-branch, RELEASE-20B-BRANCH, unicode-string-buffer-branch, sparc-tramp-assem-branch, dynamic-extent, UNICODE-BRANCH, release-19d-branch, ppc_gencgc_branch, sse2-packed-branch, lisp-executable, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-branch, unicode-string-buffer-impl-branch, intl-branch, release-18e-branch, cold-pcl, unicode-utf16-branch, cross-sol-x86-branch, release-19e-branch, sse2-branch, release-19a-branch, release-19c-branch, intl-2-branch, unicode-utf16-extfmt-branch
File MIME type: text/plain
Initial revision
1 /* types.h -- basic classes (Packet, {Device,Idle,...}TaskRec) */
2
3 #include "cbase.h"
4 #include "rbase.h"
5
6 /*
7 // Packet
8 */
9
10 class Packet {
11 private:
12 Packet *link; // next packet in queue
13 Identity ident; // Idle, Worker, DeviceA, ...
14 PacketKind kind; // DevicePacket or WorkPacket
15 int datum;
16 char data[4];
17 public:
18 Packet(Packet *l, Identity id, PacketKind k);
19 char *Data() {return data;}
20 void SetData(char d[4]) {for(int i=0; i < 4; i++) data[i] = d[i];}
21 int Datum() {return datum;}
22 void SetDatum(int n) {datum = n;}
23 Identity Ident() {return ident;}
24 void SetIdent(Identity i) {ident = i;}
25 PacketKind Kind() {return kind;}
26 void SetKind(PacketKind k) {kind = k;}
27 Packet *Link() {return link;}
28 void SetLink(Packet *l) {link = l;}
29 };
30
31 /*
32 // AddToList - list utility (append elem at end of list, return head)
33 */
34 Packet *AddToList(Packet *list, Packet *elem);
35
36 /*
37 // DeviceTaskRec
38 */
39
40 class DeviceTaskRec {
41 private:
42 Packet *pending;
43 public:
44 DeviceTaskRec() {pending = NoWork;}
45 Packet *Pending() {return pending;}
46 void SetPending(Packet *p) {pending = p;}
47 };
48
49
50
51 /*
52 // IdleTaskRec
53 */
54
55 class IdleTaskRec {
56 private:
57 int control, count;
58 public:
59 IdleTaskRec() {control = 1; count = 10000;}
60 int Control() {return control;}
61 void SetControl(int n) {control = n;}
62 int Count() {return count;}
63 void SetCount(int n) {count = n;}
64 };
65
66
67 /*
68 // HandlerTaskRec
69 */
70
71 class HandlerTaskRec {
72 private:
73 Packet *workIn, *deviceIn;
74 public:
75 HandlerTaskRec() {workIn = deviceIn = NoWork;}
76 Packet *WorkIn() {return workIn;}
77 void SetWorkIn(Packet *p) {workIn = p;}
78 Packet *WorkInAdd(Packet *p) {return workIn = AddToList(workIn, p);}
79 Packet *DeviceIn() {return deviceIn;}
80 void SetDeviceIn(Packet *p) {deviceIn = p;}
81 Packet *DeviceInAdd(Packet *p) {return deviceIn = AddToList(deviceIn, p);}
82 };
83
84
85 /*
86 // WorkerTaskRec
87 */
88
89 class WorkerTaskRec {
90 private:
91 Identity destination;
92 int count;
93 public:
94 WorkerTaskRec() {destination = HandlerA; count = 0;}
95 int Count() {return count;}
96 void SetCount(int n) {count = n;}
97 Identity Destination() {return destination;}
98 void SetDestination(Identity d) {destination = d;}
99 };
100

  ViewVC Help
Powered by ViewVC 1.1.5