|
|
1.1 root 1: /* $Header: aux.c,v 1.1 86/03/24 16:19:19 rcs Exp $ */
2: /* (C) Copyright 1985 Third Eye Software, Inc. - All Rights Reserved */
3:
4: #include "tes42.h"
5:
6:
7: /* A U X B T I N T */
8:
9: export void AuxBtInit()
10: {
11: AddAux(0);
12: AddAux(AuxFBType(btInt));
13: AddAux(AuxFBType(btChar));
14: AddAux(AuxFBType(btLong));
15: AddAux(AuxFBType(btShort));
16: AddAux(AuxFBType(btUChar));
17: AddAux(AuxFBType(btUShort));
18: AddAux(AuxFBType(btULong));
19: AddAux(AuxFBType(btUInt));
20: AddAux(AuxFBType(btFloat));
21: AddAux(AuxFBType(btDouble));
22: AddAux(AuxFBType(btNil));
23: AddAux(AuxFBType(btNil));
24: } /* AuxBtInit */
25:
26:
27: /* A D D A U X */
28:
29: export int AddAux(aux)
30: AUXU aux;
31: {
32: if (viauxMac >= viauxMax)
33: panic("Aux overrrun");
34: viaux = viauxMac++;
35: vrgAux[viaux]= aux;
36:
37: return(viaux);
38: } /* Add Aux */
39:
40:
41: /* C H A N G E A U X */
42:
43: export void ChangeAux(iaux, aux)
44: int iaux;
45: AUXU aux;
46: {
47: if (iaux > viauxMac)
48: panic("Change non-existant aux");
49: vrgAux[iaux]= aux;
50: } /* ChangeAux */
51:
52:
53: /* A U X F I A U X */
54:
55: export AUXU AuxFIaux(iaux)
56: {
57: if (iaux >= viauxMac)
58: panic("Change non-existant aux");
59: return(vrgAux[iaux]);
60: } /* AuxFIaux */
61:
62:
63: /* A D D T Q */
64:
65: export void AddTq(iaux, tq)
66: int tq;
67: int iaux;
68: {
69: AUXU aux;
70:
71: aux = AuxFIaux(iaux);
72: if (aux.ti.tq5 != tqNil)
73: panic("tq overflow");
74:
75: aux.ti.tq5= aux.ti.tq4;
76: aux.ti.tq4= aux.ti.tq3;
77: aux.ti.tq3= aux.ti.tq2;
78: aux.ti.tq2= aux.ti.tq1;
79: aux.ti.tq1= aux.ti.tq0;
80: aux.ti.tq0= tq;
81:
82: ChangeAux(iaux, aux);
83: } /* AddTq */
84:
85:
86: /* A U X F B T */
87:
88: export AUXU AuxFBType(bt)
89: int bt;
90: {
91: AUXU aux;
92:
93: aux.isym = 0; /* zero out the word */
94: aux.ti.bt= bt;
95: return(aux);
96: } /* AuxFBType */
97:
98:
99: /* I A U X F C O P Y T Y */
100:
101: export int IauxFCopyTy(iauxType)
102: long iauxType;
103: {
104: int iaux;
105: AUXU aux;
106: int cAux= 0;
107:
108: aux = AuxFIaux(iauxType);
109: if (FComplexBt(aux.ti.bt))
110: cAux++;
111: if (aux.ti.tq0 == tqArray) cAux++;
112: if (aux.ti.tq1 == tqArray) cAux++;
113: if (aux.ti.tq2 == tqArray) cAux++;
114: if (aux.ti.tq3 == tqArray) cAux++;
115: if (aux.ti.tq4 == tqArray) cAux++;
116: if (aux.ti.tq5 == tqArray) cAux++;
117:
118: iaux= AddAux(aux);
119: for (iauxType++; cAux; cAux--)
120: AddAux(AuxFIaux(iauxType++));
121:
122: return(iaux);
123: } /* IauxFCopyTy */
124:
125:
126: /* P A T C H T Q */
127:
128: export void PatchTq(iaux, tq)
129: int tq;
130: int iaux;
131: {
132: AUXU aux;
133:
134: aux= AuxFIaux(iaux);
135:
136: if (aux.ti.tq0 == tqNil)
137: aux.ti.tq0= tq;
138: else if (aux.ti.tq1 == tqNil)
139: aux.ti.tq1= tq;
140: else if (aux.ti.tq2 == tqNil)
141: aux.ti.tq2= tq;
142: else if (aux.ti.tq3 == tqNil)
143: aux.ti.tq3= tq;
144: else if (aux.ti.tq4 == tqNil)
145: aux.ti.tq4= tq;
146: else if (aux.ti.tq5 == tqNil)
147: aux.ti.tq5= tq;
148: else
149: panic("ran out of tqs");
150:
151: ChangeAux(iaux, aux);
152: } /* PatchTq */
153:
154:
155: /* A U X D I M */
156:
157: export void AuxDim(dim)
158: int dim;
159: {
160: AUXU aux;
161:
162: aux.dim.dnLow = 0;
163: aux.dim.dnMac = dim;
164: AddAux(aux);
165: } /* AuxDim */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.