SCM Repository
[diderot] Annotation of /branches/lamont_dev/src/compiler/gen/il/mid-il.spec
Annotation of /branches/lamont_dev/src/compiler/gen/il/mid-il.spec
Parent Directory
|
Revision Log
Revision 304 -
(view)
(download)
Original Path: trunk/src/compiler/IL/gen/mid-il.spec
1 : |
jhr |
266 |
# specification of operators for MidIL version of the IR. Each line (other than comments)
|
2 : |
|
|
# specifies an operator using four fields, which are separated by ":". The fields are
|
3 : |
|
|
# name
|
4 : |
|
|
# argument type (optional)
|
5 : |
|
|
# arity
|
6 : |
|
|
# comment (optional)
|
7 : |
|
|
#
|
8 : |
|
|
# type-indexed arithmetic operations
|
9 : |
|
|
Add : ty : 2 :
|
10 : |
|
|
Sub : ty : 2 :
|
11 : |
|
|
Mul : ty : 2 :
|
12 : |
|
|
Div : ty : 2 :
|
13 : |
|
|
Neg : ty : 1 :
|
14 : |
|
|
LT : ty : 2 :
|
15 : |
|
|
LTE : ty : 2 :
|
16 : |
|
|
EQ : ty : 2 :
|
17 : |
|
|
NEQ : ty : 2 :
|
18 : |
|
|
GT : ty : 2 :
|
19 : |
|
|
GTE : ty : 2 :
|
20 : |
jhr |
304 |
#
|
21 : |
|
|
# vector operations
|
22 : |
jhr |
266 |
Dot : ty : 2 :
|
23 : |
|
|
Cross : : 2 :
|
24 : |
jhr |
281 |
Select : int : 1 :
|
25 : |
jhr |
266 |
Norm : ty : 1 :
|
26 : |
|
|
Scale : ty : 2 : scalar*tensor multiplication
|
27 : |
|
|
InvScale : ty : 2 : tensor/scalar division
|
28 : |
|
|
CL : : 1 : linear anisotropy measures
|
29 : |
|
|
PrincipleEvec : ty : 2 : principle eigenvector; ty is result vector type
|
30 : |
|
|
Subscript : ty : 2 :
|
31 : |
|
|
Max : : 2 :
|
32 : |
|
|
Min : : 2 :
|
33 : |
|
|
Sin : : 1 :
|
34 : |
|
|
Cos : : 1 :
|
35 : |
|
|
Pow : : 2 :
|
36 : |
|
|
Not : : 1 : boolean negation
|
37 : |
|
|
#
|
38 : |
|
|
# conversions
|
39 : |
|
|
IntToReal : : 1 :
|
40 : |
|
|
TruncToInt : : 1 :
|
41 : |
|
|
RoundToInt : : 1 :
|
42 : |
|
|
CeilToInt : : 1 :
|
43 : |
|
|
FloorToInt : : 1 :
|
44 : |
|
|
#
|
45 : |
jhr |
281 |
# image/kernel operations
|
46 : |
jhr |
282 |
VoxelAddress : ImageInfo.info : * : compute the address of a voxel
|
47 : |
|
|
LoadVoxels : RawTypes.ty * int : 1 : load a vector of voxel values from an address
|
48 : |
jhr |
304 |
Transform : ImageInfo.info : 1 : transform a position to image-space
|
49 : |
jhr |
266 |
Kernel : Kernel.kernel : 0 :
|
50 : |
jhr |
304 |
DiffKernel : : 1 : derivative of kernel
|
51 : |
|
|
EvalKernel : int : 2 : apply a kernel function to a scalar or vector of arguments
|
52 : |
jhr |
266 |
LoadImage : ImageInfo.info : 0 : image-file loading
|
53 : |
|
|
Inside : : 2 :
|
54 : |
|
|
#
|
55 : |
|
|
# inputs
|
56 : |
|
|
Input : string : 0 :
|
57 : |
|
|
InputWithDefault : string : 1 :
|