Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Annotation of /trunk/doc/report/types.tex
 [diderot] / trunk / doc / report / types.tex

# Annotation of /trunk/doc/report/types.tex

 1 : jhr 101 %!TEX root = report.tex 2 : % 3 : \chapter{Types} 4 : \label{chap:types} 5 : 6 : The grammar of Diderot types is as follows: 7 : \begin{Grammar} 8 : \TypeRULES{} 9 : \end{Grammar}% 10 : 11 : \section{Value types} 12 : Diderot supports four types of concrete values: booleans, integers, strings, and tensors. 13 : The grammar of these types is 14 : \begin{Grammar} 15 : \ValueTypeRULES{} 16 : \DimensionsRULES{} 17 : \end{Grammar}% 18 : 19 : The tensor type \mbox{\kw{tensor}\kw{[}$d_1,\ldots{},d_n$\kw{]}} is the of type order-$n$ tensors 20 : with shape $d_1,\ldots{},d_n$. 21 : Tensors include scalars (order-0) and vectors (order-1). 22 : Because these types are frequently used, Diderot supports the following predefined type definitions: 23 : \begin{center} 24 : \begin{tabular}{r@{$\quad\equiv\quad$}l} 25 : \kw{real} & \texttt{\kw{tensor}\kw{[}\kw{]}} \\ 26 : \kw{vec2} & \texttt{\kw{tensor}\kw{[}2\kw{]}} \\ 27 : \kw{vec3} & \texttt{\kw{tensor}\kw{[}3\kw{]}} \\ 28 : \kw{vec4} & \texttt{\kw{tensor}\kw{[}4\kw{]}} 29 : \end{tabular} 30 : \end{center}% 31 : 32 : \section{Images} 33 : 34 : \section{Fields} 35 : 36 : \section{Kernels} 37 : Kernels are abstract types that represent the \emph{convolution kernels} used 38 : to reconstruct continuous fields from image data. 39 : The syntax of a kernel type is \mbox{\kw{kernel}\kw{\#}$k$}, where 40 : $k \geq 0$ gives the number of levels of differentiation supported by the 41 : kernel.