Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /trunk/src/compiler/mid-il/mid-il.sml
ViewVC logotype

Diff of /trunk/src/compiler/mid-il/mid-il.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 332, Thu Aug 19 20:18:53 2010 UTC revision 333, Thu Aug 19 20:52:48 2010 UTC
# Line 46  Line 46 
46        | NEQ of ty        | NEQ of ty
47        | GT of ty        | GT of ty
48        | GTE of ty        | GTE of ty
49          | Not
50          | Max
51          | Min
52          | Sin
53          | Cos
54          | Pow
55        | Dot of ty        | Dot of ty
56        | Cross        | Cross
57        | Select of int        | Select of int
# Line 55  Line 61 
61        | CL        | CL
62        | PrincipleEvec of ty        | PrincipleEvec of ty
63        | Subscript of ty        | Subscript of ty
64        | Max        | Floor of int
       | Min  
       | Sin  
       | Cos  
       | Pow  
       | Not  
65        | IntToReal        | IntToReal
66        | TruncToInt        | TruncToInt of int
67        | RoundToInt        | RoundToInt of int
68        | CeilToInt        | CeilToInt of int
69        | FloorToInt        | FloorToInt of int
70        | VoxelAddress of ImageInfo.info        | VoxelAddress of ImageInfo.info
71        | LoadVoxels of RawTypes.ty * int        | LoadVoxels of RawTypes.ty * int
72        | Transform of ImageInfo.info        | Transform of ImageInfo.info
# Line 86  Line 87 
87        | arity (NEQ _) = 2        | arity (NEQ _) = 2
88        | arity (GT _) = 2        | arity (GT _) = 2
89        | arity (GTE _) = 2        | arity (GTE _) = 2
90          | arity Not = 1
91          | arity Max = 2
92          | arity Min = 2
93          | arity Sin = 1
94          | arity Cos = 1
95          | arity Pow = 2
96        | arity (Dot _) = 2        | arity (Dot _) = 2
97        | arity Cross = 2        | arity Cross = 2
98        | arity (Select _) = 1        | arity (Select _) = 1
# Line 95  Line 102 
102        | arity CL = 1        | arity CL = 1
103        | arity (PrincipleEvec _) = 2        | arity (PrincipleEvec _) = 2
104        | arity (Subscript _) = 2        | arity (Subscript _) = 2
105        | arity Max = 2        | arity (Floor _) = 1
       | arity Min = 2  
       | arity Sin = 1  
       | arity Cos = 1  
       | arity Pow = 2  
       | arity Not = 1  
106        | arity IntToReal = 1        | arity IntToReal = 1
107        | arity TruncToInt = 1        | arity (TruncToInt _) = 1
108        | arity RoundToInt = 1        | arity (RoundToInt _) = 1
109        | arity CeilToInt = 1        | arity (CeilToInt _) = 1
110        | arity FloorToInt = 1        | arity (FloorToInt _) = 1
111        | arity (VoxelAddress _) = ~1        | arity (VoxelAddress _) = ~1
112        | arity (LoadVoxels _) = 1        | arity (LoadVoxels _) = 1
113        | arity (Transform _) = 1        | arity (Transform _) = 1
# Line 126  Line 128 
128        | same (NEQ(a0), NEQ(b0)) = samety(a0, b0)        | same (NEQ(a0), NEQ(b0)) = samety(a0, b0)
129        | same (GT(a0), GT(b0)) = samety(a0, b0)        | same (GT(a0), GT(b0)) = samety(a0, b0)
130        | same (GTE(a0), GTE(b0)) = samety(a0, b0)        | same (GTE(a0), GTE(b0)) = samety(a0, b0)
131          | same (Not, Not) = true
132          | same (Max, Max) = true
133          | same (Min, Min) = true
134          | same (Sin, Sin) = true
135          | same (Cos, Cos) = true
136          | same (Pow, Pow) = true
137        | same (Dot(a0), Dot(b0)) = samety(a0, b0)        | same (Dot(a0), Dot(b0)) = samety(a0, b0)
138        | same (Cross, Cross) = true        | same (Cross, Cross) = true
139        | same (Select(a0), Select(b0)) = sameint(a0, b0)        | same (Select(a0), Select(b0)) = sameint(a0, b0)
# Line 135  Line 143 
143        | same (CL, CL) = true        | same (CL, CL) = true
144        | same (PrincipleEvec(a0), PrincipleEvec(b0)) = samety(a0, b0)        | same (PrincipleEvec(a0), PrincipleEvec(b0)) = samety(a0, b0)
145        | same (Subscript(a0), Subscript(b0)) = samety(a0, b0)        | same (Subscript(a0), Subscript(b0)) = samety(a0, b0)
146        | same (Max, Max) = true        | same (Floor(a0), Floor(b0)) = sameint(a0, b0)
       | same (Min, Min) = true  
       | same (Sin, Sin) = true  
       | same (Cos, Cos) = true  
       | same (Pow, Pow) = true  
       | same (Not, Not) = true  
147        | same (IntToReal, IntToReal) = true        | same (IntToReal, IntToReal) = true
148        | same (TruncToInt, TruncToInt) = true        | same (TruncToInt(a0), TruncToInt(b0)) = sameint(a0, b0)
149        | same (RoundToInt, RoundToInt) = true        | same (RoundToInt(a0), RoundToInt(b0)) = sameint(a0, b0)
150        | same (CeilToInt, CeilToInt) = true        | same (CeilToInt(a0), CeilToInt(b0)) = sameint(a0, b0)
151        | same (FloorToInt, FloorToInt) = true        | same (FloorToInt(a0), FloorToInt(b0)) = sameint(a0, b0)
152        | same (VoxelAddress(a0), VoxelAddress(b0)) = ImageInfo.same(a0, b0)        | same (VoxelAddress(a0), VoxelAddress(b0)) = ImageInfo.same(a0, b0)
153        | same (LoadVoxels(a0,a1), LoadVoxels(b0,b1)) = RawTypes.same(a0, b0) andalso sameint(a1, b1)        | same (LoadVoxels(a0,a1), LoadVoxels(b0,b1)) = RawTypes.same(a0, b0) andalso sameint(a1, b1)
154        | same (Transform(a0), Transform(b0)) = ImageInfo.same(a0, b0)        | same (Transform(a0), Transform(b0)) = ImageInfo.same(a0, b0)
# Line 167  Line 170 
170        | hash (NEQ(a0)) = 0w29 + hashty a0        | hash (NEQ(a0)) = 0w29 + hashty a0
171        | hash (GT(a0)) = 0w31 + hashty a0        | hash (GT(a0)) = 0w31 + hashty a0
172        | hash (GTE(a0)) = 0w37 + hashty a0        | hash (GTE(a0)) = 0w37 + hashty a0
173        | hash (Dot(a0)) = 0w41 + hashty a0        | hash Not = 0w41
174        | hash Cross = 0w43        | hash Max = 0w43
175        | hash (Select(a0)) = 0w47 + hashint a0        | hash Min = 0w47
176        | hash (Norm(a0)) = 0w53 + hashty a0        | hash Sin = 0w53
177        | hash (Scale(a0)) = 0w59 + hashty a0        | hash Cos = 0w59
178        | hash (InvScale(a0)) = 0w61 + hashty a0        | hash Pow = 0w61
179        | hash CL = 0w67        | hash (Dot(a0)) = 0w67 + hashty a0
180        | hash (PrincipleEvec(a0)) = 0w71 + hashty a0        | hash Cross = 0w71
181        | hash (Subscript(a0)) = 0w73 + hashty a0        | hash (Select(a0)) = 0w73 + hashint a0
182        | hash Max = 0w79        | hash (Norm(a0)) = 0w79 + hashty a0
183        | hash Min = 0w83        | hash (Scale(a0)) = 0w83 + hashty a0
184        | hash Sin = 0w89        | hash (InvScale(a0)) = 0w89 + hashty a0
185        | hash Cos = 0w97        | hash CL = 0w97
186        | hash Pow = 0w101        | hash (PrincipleEvec(a0)) = 0w101 + hashty a0
187        | hash Not = 0w103        | hash (Subscript(a0)) = 0w103 + hashty a0
188        | hash IntToReal = 0w107        | hash (Floor(a0)) = 0w107 + hashint a0
189        | hash TruncToInt = 0w109        | hash IntToReal = 0w109
190        | hash RoundToInt = 0w113        | hash (TruncToInt(a0)) = 0w113 + hashint a0
191        | hash CeilToInt = 0w127        | hash (RoundToInt(a0)) = 0w127 + hashint a0
192        | hash FloorToInt = 0w131        | hash (CeilToInt(a0)) = 0w131 + hashint a0
193        | hash (VoxelAddress(a0)) = 0w137 + ImageInfo.hash a0        | hash (FloorToInt(a0)) = 0w137 + hashint a0
194        | hash (LoadVoxels(a0,a1)) = 0w139 + RawTypes.hash a0 + hashint a1        | hash (VoxelAddress(a0)) = 0w139 + ImageInfo.hash a0
195        | hash (Transform(a0)) = 0w149 + ImageInfo.hash a0        | hash (LoadVoxels(a0,a1)) = 0w149 + RawTypes.hash a0 + hashint a1
196        | hash (EvalKernel(a0,a1,a2)) = 0w151 + hashint a0 + Kernel.hash a1 + hashint a2        | hash (Transform(a0)) = 0w151 + ImageInfo.hash a0
197        | hash (LoadImage(a0)) = 0w157 + ImageInfo.hash a0        | hash (EvalKernel(a0,a1,a2)) = 0w157 + hashint a0 + Kernel.hash a1 + hashint a2
198        | hash Inside = 0w163        | hash (LoadImage(a0)) = 0w163 + ImageInfo.hash a0
199        | hash (Input(a0)) = 0w167 + hashstring a0        | hash Inside = 0w167
200        | hash (InputWithDefault(a0)) = 0w173 + hashstring a0        | hash (Input(a0)) = 0w173 + hashstring a0
201          | hash (InputWithDefault(a0)) = 0w179 + hashstring a0
202    
203      fun toString (Add(a0)) = concat["Add<", tyToString a0, ">"]      fun toString (Add(a0)) = concat["Add<", tyToString a0, ">"]
204        | toString (Sub(a0)) = concat["Sub<", tyToString a0, ">"]        | toString (Sub(a0)) = concat["Sub<", tyToString a0, ">"]
# Line 207  Line 211 
211        | toString (NEQ(a0)) = concat["NEQ<", tyToString a0, ">"]        | toString (NEQ(a0)) = concat["NEQ<", tyToString a0, ">"]
212        | toString (GT(a0)) = concat["GT<", tyToString a0, ">"]        | toString (GT(a0)) = concat["GT<", tyToString a0, ">"]
213        | toString (GTE(a0)) = concat["GTE<", tyToString a0, ">"]        | toString (GTE(a0)) = concat["GTE<", tyToString a0, ">"]
214          | toString Not = "Not"
215          | toString Max = "Max"
216          | toString Min = "Min"
217          | toString Sin = "Sin"
218          | toString Cos = "Cos"
219          | toString Pow = "Pow"
220        | toString (Dot(a0)) = concat["Dot<", tyToString a0, ">"]        | toString (Dot(a0)) = concat["Dot<", tyToString a0, ">"]
221        | toString Cross = "Cross"        | toString Cross = "Cross"
222        | toString (Select(a0)) = concat["Select<", intToString a0, ">"]        | toString (Select(a0)) = concat["Select<", intToString a0, ">"]
# Line 216  Line 226 
226        | toString CL = "CL"        | toString CL = "CL"
227        | toString (PrincipleEvec(a0)) = concat["PrincipleEvec<", tyToString a0, ">"]        | toString (PrincipleEvec(a0)) = concat["PrincipleEvec<", tyToString a0, ">"]
228        | toString (Subscript(a0)) = concat["Subscript<", tyToString a0, ">"]        | toString (Subscript(a0)) = concat["Subscript<", tyToString a0, ">"]
229        | toString Max = "Max"        | toString (Floor(a0)) = concat["Floor<", intToString a0, ">"]
       | toString Min = "Min"  
       | toString Sin = "Sin"  
       | toString Cos = "Cos"  
       | toString Pow = "Pow"  
       | toString Not = "Not"  
230        | toString IntToReal = "IntToReal"        | toString IntToReal = "IntToReal"
231        | toString TruncToInt = "TruncToInt"        | toString (TruncToInt(a0)) = concat["TruncToInt<", intToString a0, ">"]
232        | toString RoundToInt = "RoundToInt"        | toString (RoundToInt(a0)) = concat["RoundToInt<", intToString a0, ">"]
233        | toString CeilToInt = "CeilToInt"        | toString (CeilToInt(a0)) = concat["CeilToInt<", intToString a0, ">"]
234        | toString FloorToInt = "FloorToInt"        | toString (FloorToInt(a0)) = concat["FloorToInt<", intToString a0, ">"]
235        | toString (VoxelAddress(a0)) = concat["VoxelAddress<", ImageInfo.toString a0, ">"]        | toString (VoxelAddress(a0)) = concat["VoxelAddress<", ImageInfo.toString a0, ">"]
236        | toString (LoadVoxels(a0,a1)) = concat["LoadVoxels<", RawTypes.toString a0, ",", intToString a1, ">"]        | toString (LoadVoxels(a0,a1)) = concat["LoadVoxels<", RawTypes.toString a0, ",", intToString a1, ">"]
237        | toString (Transform(a0)) = concat["Transform<", ImageInfo.toString a0, ">"]        | toString (Transform(a0)) = concat["Transform<", ImageInfo.toString a0, ">"]

Legend:
Removed from v.332  
changed lines
  Added in v.333

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0