Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Diff of /trunk/doc/field-norm/paper.tex
 [diderot] / trunk / doc / field-norm / paper.tex

# Diff of /trunk/doc/field-norm/paper.tex

revision 468, Fri Oct 29 19:31:06 2010 UTC revision 469, Tue Nov 2 14:12:42 2010 UTC
# Line 73  Line 73
73  \begin{eqnarray*}  \begin{eqnarray*}
74    \Fnorm{\nabla{}(V\circledast{}h^k)} & = & V\circledast{}h^{k+1} \\    \Fnorm{\nabla{}(V\circledast{}h^k)} & = & V\circledast{}h^{k+1} \\
75    \Fnorm{\nabla{}(F+G)} & = & \Fnorm{\nabla{}F} + \Fnorm{\nabla{}G} \\    \Fnorm{\nabla{}(F+G)} & = & \Fnorm{\nabla{}F} + \Fnorm{\nabla{}G} \\
76    \Fnorm{\nabla{}(s F)} & = & s \Fnorm{\nabla{}F}    \Fnorm{\nabla{}(s F)} & = & s (\Fnorm{\nabla{}F})
77  \end{eqnarray*}%  \end{eqnarray*}%
78
79  The syntax of probe operations (after field normalization) is  The syntax of probe operations (after field normalization) is
# Line 85  Line 85
85  \begin{displaymath}  \begin{displaymath}
86    V\mkw{@}_{h^k}\vecx    V\mkw{@}_{h^k}\vecx
87  \end{displaymath}%  \end{displaymath}%
88  The normalization rules are as follows:  The probe normalization rules are as follows:
89  \begin{eqnarray*}  \begin{eqnarray*}
90    \Pnorm{(V\circledast{}h^k)\mkw{@}\vecx} & = & V\mkw{@}_{h^k}\vecx \\    \Pnorm{(V\circledast{}h^k)\mkw{@}\vecx} & = & V\mkw{@}_{h^k}\vecx \\
91    \Pnorm{(F+G)\mkw{@}\vecx} & = & \Pnorm{F\mkw{@}\vecx} + \Pnorm{G\mkw{@}\vecx} \\    \Pnorm{(F+G)\mkw{@}\vecx} & = & \Pnorm{F\mkw{@}\vecx} + \Pnorm{G\mkw{@}\vecx} \\
92    \Pnorm{(s F)\mkw{@}\vecx} & = & s \Pnorm{F\mkw{@}\vecx}    \Pnorm{(s F)\mkw{@}\vecx} & = & s (\Pnorm{F\mkw{@}\vecx})
93  \end{eqnarray*}%  \end{eqnarray*}%
94
95    \section{An example}
96    Consider the following Diderot fragment (taken from the \texttt{vr-lite.diderot} example).
97    \begin{lstlisting}[mathescape=true]
98    $\cdots$
99    field#1(3)[] F = img $\circledast$ bspln3;
100    $\cdots$
101    real val = F@pos;
102    vec3 grad = ($\nabla$ F)@pos;
103    \end{lstlisting}%
104    Applying the transformations will result in
105    \begin{lstlisting}[mathescape=true]
106    real val = img $\mkw{@}_{\mathtt{bspln3}}$ pos;
107    vec3 grad = img $\mkw{@}_{\mathtt{bspln3}^1}$ pos;
108    \end{lstlisting}%
109
110
111  \section{Implementation in the compiler}  \section{Implementation in the compiler}
112  These transformations are mostly implemented on the SimpleAST representation.  These transformations are mostly implemented on the SimpleAST representation.
113    The final step of translating a probe of $(V\circledast{}h^k)\mkw{@}\vecx$
114    to $V\mkw{@}_{h^k}\vecx$ is done in the conversion to the HighIL representation.
115
116  \end{document}  \end{document}

Legend:
 Removed from v.468 changed lines Added in v.469