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

SCM Repository

[diderot] Diff of /branches/pure-cfg/TODO
 [diderot] / branches / pure-cfg / TODO

Diff of /branches/pure-cfg/TODO

revision 927, Fri Apr 22 11:40:49 2011 UTC revision 949, Fri Apr 22 19:20:24 2011 UTC
# Line 46  Line 46
46  ==============================  ==============================
47
48  test/uninit.diderot:  test/uninit.diderot:
49  documents need for better compiler error messages when out variables  documents need for better compiler error messages when output variables
50  are not initialized; the current messages are very cryptic  are not initialized; the current messages are very cryptic
51
52  determinant ("det") for tensor[3,3]  determinant ("det") for tensor[3,3]
# Line 65  Line 65
65  MEDIUM TERM ================== (including needed for streamlines & tractography)  MEDIUM TERM ================== (including needed for streamlines & tractography)
66  ==============================  ==============================
67
68    Want: allow X *= Y, X /= Y, X += Y, X -= Y to mean what they do in C,
69    provided that X*Y, X/Y, X+Y, X-Y are already supported.
70    Nearly every Diderot program would be simplified by this.
71
72    Want: ability to apply "normalize" to a field itself, e.g.
73      field#1(2)[2] V = normalize(Vimg ⊛ ctmr);
74    so that V(x) = normalize((Vimg ⊛ ctmr)(x)).
75    (For now, it would be okay for the differentability of V to be 0;
76    later we can teach Diderot the quotient rule of derivatives.)
77    Having this would simplify expression of standard LIC method, and
78    would also help express other vector field expressions that arise
79    in vector field feature exraction
80    Related to this and possibly simpler:
81      image(2)[2] Vimg = load(...);
82      field#1(2)[] Vlen = |Vimg ⊛ ctmr|;
83    to get a scalar field of vector length, or
84      field#1(2)[] F = Fimg ⊛ ctmr;
85      field#1(2)[] Gmag = |∇F|;
86    to get a scalar field of gradient magnitude, or
87      field#1(2)[] F = Fimg ⊛ ctmr;
88      field#1(2)[] Gmsq = ∇F•∇F;
89    to get a scalar field of squared gradient magnitude
90    (which is simpler to differentiate)
91
92    ability to declare a field in such a way so that probe
93    positions are *always* clamped to the support of "inside";
94    there are many cases where this is the sensible behavior
95
96  ability to emit/track/record variables into dynamically re-sized  ability to emit/track/record variables into dynamically re-sized
97  runtime buffer  runtime buffer
98
# Line 146  Line 174
174  BUGS =================  BUGS =================
175  ======================  ======================
176
177  test/abexit.diderot  test/fields.diderot:
178          // HEY (BUG): this program can't run; this is the info from gdb (below)  documents various bugs/questions associated with field expressions
// NOTE: if you remove the "inside" test; then it does run w/out problems
//   (gdb) run
//   Starting program: /Users/gk/diderot/diderot/pure-cfg/test/abexit
//   warning: posix_spawn failed, trying execvp, error: 86
//   Reading symbols for shared libraries ++. done
//   initializing globals ...
//
//   Program exited with code 01.
//   (gdb)
179
180  test/mip-cam.diderot:  test/mip-cam.diderot:
181      // generated C code looks like "(float)p_ui_0--0.5e0f"      // generated C code looks like "(float)p_ui_0--0.5e0f"
# Line 175  Line 194
194  //  uncaught exception Size [size]  //  uncaught exception Size [size]
195  //    raised at c-target/c-target.sml:47.15-47.19  //    raised at c-target/c-target.sml:47.15-47.19
196  //field#4(3)[] F = img ⊛ bspln5;  //field#4(3)[] F = img ⊛ bspln5;

Legend:
 Removed from v.927 changed lines Added in v.949

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