Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/gen/il/mid-il.spec
 [diderot] / branches / vis12 / src / compiler / gen / il / mid-il.spec

# Diff of /branches/vis12/src/compiler/gen/il/mid-il.spec

revision 2009, Fri Oct 5 17:58:18 2012 UTC revision 2638, Wed May 28 18:44:51 2014 UTC
# Line 6  Line 6
6  #       arity  #       arity
7  #       comment                 (optional)  #       comment                 (optional)
8  #  #
9    # Operations with effects are denoted by a "!" as the first character of the line.
10    #
11  # type-indexed arithmetic operations  # type-indexed arithmetic operations
12  Add : ty : 1 : 2 :  Add : ty : 1 : 2 :
13  Sub : ty : 1 : 2 :  Sub : ty : 1 : 2 :
# Line 59  Line 61
61  Identity : int : 1 : 0 : identity matrix  Identity : int : 1 : 0 : identity matrix
62  # Zero<ty>() -- zero tensor  # Zero<ty>() -- zero tensor
63  Zero : ty : 1 : 0 : identity matrix  Zero : ty : 1 : 0 : identity matrix
64  # Trace<n>(m) -- computes trace of nxn matrix m  # Trace<n>(M) -- computes trace of nxn matrix M
65  Trace : int : 1 : 1 : compute trace of matrix  Trace : int : 1 : 1 : compute trace of matrix
66    # Transpose<n,m>(M) -- computes transpose of nxm matrix
67    Transpose : int * int : 1 : 1 : compute transpose of matrix
68  #  #
69  # operations on sequences  # operations on sequences
70  # Select<ty,i>(u)  -- select ith element of tuple; ty is tuple type  # Select<ty,i>(u)  -- select ith element of tuple; ty is tuple type
# Line 70  Line 74
74  # Subscript<ty>(u,i) -- select ith element of sequence; ty is type of sequence  # Subscript<ty>(u,i) -- select ith element of sequence; ty is type of sequence
75  Subscript : ty : 1 : 2 :  Subscript : ty : 1 : 2 :
76  # MkDynamic<ty,n> -- make a sequence with type ty{n} into a dynamic sequence  # MkDynamic<ty,n> -- make a sequence with type ty{n} into a dynamic sequence
77  MkDynamic : ty * int : 1 : 1 : make a fixed-length sequence dynamic  !MkDynamic : ty * int : 1 : 1 : make a fixed-length sequence dynamic
78  Append : ty : 2 : 1 : append an element onto a dynamic sequence  !Append : ty : 2 : 1 : append an element onto a dynamic sequence
79  Prepend : ty : 2 : 1 : prepend an element onto a dynamic sequence  !Prepend : ty : 2 : 1 : prepend an element onto a dynamic sequence
80  Concat : ty : 2 : 1 : concatenate two dynamic sequences  !Concat : ty : 2 : 1 : concatenate two dynamic sequences
81  # Length<ty> -- return the length of a sequence with type ty{}  # Length<ty> -- return the length of a sequence with type ty{}
82  Length : ty : 1 : 1 : return the length of a dynamic sequence  Length : ty : 1 : 1 : return the length of a dynamic sequence
83  #  #
# Line 103  Line 107
107  # occupied by the image V.  I is the image info and s is the border width  # occupied by the image V.  I is the image info and s is the border width
108  Inside : ImageInfo.info * int : 1 : 2 :  Inside : ImageInfo.info * int : 1 : 2 :
109  #  #
111    LoadSeq   : ty * string                  : 1 : 0 : load sequence from nrrd file
112    LoadImage : ty * string * ImageInfo.info : 1 : 0 : load image from nrrd file
113    #
114  # inputs  # inputs
115  Input                   : ty * string * string          : 1 : 0 :  !Input  : input : 0 : 0 : program input
InputWithDefault        : ty * string * string          : 1 : 1 :
InputNrrd               : ty * string * string          : 1 : 0 : input image or sequence from nrrd
InputNrrdWithDefault    : ty * string * string * string : 1 : 0 : input image or sequence from nrrd
116  #  #
117  # printing support for debugging  # printing support for debugging
118  Print : tys : 0 : * : print strings  !Print : tys : 0 : * : print strings

Legend:
 Removed from v.2009 changed lines Added in v.2638