Difference between revisions of "29 November 2006"

From Organic Design wiki
(Nodal reduction algorithm updated)
 
Line 1: Line 1:
 
<table class=document-code><tr><td>
 
<table class=document-code><tr><td>
 
;Nodal reduction algorithm updated
 
;Nodal reduction algorithm updated
A difficult bug was encountered while working on the [[recursive rectangles]] milestone in which the [[focus]] of a [[node]] never receives any [[quanta]] if the node also has [[nodeCODE|code]]. But there's no need for [[nodal reduction]] to allow a nodes executable code to "hide" the reducable structure within, so the algorithm has been [http://www.organicdesign.co.nz/wiki/index.php?title=NodeSpace.h&curid=5068&diff=0&oldid=41695 changed] to make reduction within unconditional.
+
A [[Talk:29 November 2006|difficult bug]] was encountered while working on the [[recursive rectangles]] milestone in which the [[focus]] of a [[node]] never receives any [[quanta]] if the node also has [[nodeCODE|code]]. But there's no need for [[nodal reduction]] to allow a nodes executable code to "hide" the reducable structure within, so the algorithm has been [http://www.organicdesign.co.nz/wiki/index.php?title=NodeSpace.h&curid=5068&diff=0&oldid=41695 changed] to make reduction within unconditional.
  
 
A further efficiency is that if the recursive call to ''nodeReduce'' is unconditional, then there's no point even making it recursive because the [[this]] variable is global and when control returns to the top scope from the reduction function, the very next instruction calls reduction again. This can work because if there's no further reducable structure within, ''this'' will be set to 0 ([[root]]) again. Below is the current version of the algorithm.
 
A further efficiency is that if the recursive call to ''nodeReduce'' is unconditional, then there's no point even making it recursive because the [[this]] variable is global and when control returns to the top scope from the reduction function, the very next instruction calls reduction again. This can work because if there's no further reducable structure within, ''this'' will be set to 0 ([[root]]) again. Below is the current version of the algorithm.

Latest revision as of 07:00, 29 November 2006

Nodal reduction algorithm updated

A difficult bug was encountered while working on the recursive rectangles milestone in which the focus of a node never receives any quanta if the node also has code. But there's no need for nodal reduction to allow a nodes executable code to "hide" the reducable structure within, so the algorithm has been changed to make reduction within unconditional.

A further efficiency is that if the recursive call to nodeReduce is unconditional, then there's no point even making it recursive because the this variable is global and when control returns to the top scope from the reduction function, the very next instruction calls reduction again. This can work because if there's no further reducable structure within, this will be set to 0 (root) again. Below is the current version of the algorithm.


[[+NR.c|]]