From: cee1 <fy...@gm...> - 2010-02-13 11:21:58
|
Hi all, I'm reading the code of asl 1.0.42. Some questions about *conditional_indirect_contributing_m*: I found "*conditional_indirect_contributing_m*" (data member of sheet_t::implementation_t) is *only set* in function sheet_t::implementation_t::update: (adam.cpp, 1119) accumulate_contributing_m.reset (); ... (adam.cpp, 1143) conditional_indirect_contributing_m = accumulate_contributing_m; It seems conditional_indirect_contributing_m will always be zero, and is referenced as "a_variable |= conditional_indirect_contributing_m", should it be useless? What is conditional_indirect_contributing_m doing? BTW, I've read the introduction at http://stlab.adobe.com and the paper "Property Models -- From Incidental Algorithms to Reusable Components", I'm still confused about: - What is the difference between output and interface cells? - Data flow of various cells? (e.g. data from input cell only flow to output|interface cell? output|interface cell only accept data from input cell?) - What is the difference between input and interface cells(e.g. why input cell setting init_contributing_m while interface cell(input) setting contributing_m)? - Are relation cells only involved in "getting" value of interface cells (output)? - What is invariant cell doing? If an invariant cell evaluated "false", all cells contributing to it will be marked poison? Regards -- cee1 |