codesimian
Class AddressShape.Fractal

java.lang.Object
  extended by codesimian.CS
      extended by codesimian.DefaultCS
          extended by codesimian.AddressShape
              extended by codesimian.AddressShape.Fractal
All Implemented Interfaces:
CodeSimian, java.io.Serializable
Enclosing class:
AddressShape

public static class AddressShape.Fractal
extends AddressShape

The first 0-.5 means to stop. The second range .5-1 means to traverse the childs.
GetParam(ADDRESS_NUMBER).D() must always be in range 0.0 (inclusive) - 1.0 (exclusive).
If its in that range, the address was not found yet. If its outside that range, the address is the current value of my P(ADDRESS_START).
You might use this with CS.addressShape, but you dont have to use this type.
I replace my own param 0 with one of param0's params.
I return the new address relative to my new param 0.
I do not update my param1 to be that address, but its likely some external code will do it to me (CS.findAddress()).

Fractal and Linear are intentionally not a subclass of something like AddressShape. They extend CS directly. Any CS might work a similar way, depending on how its built.

Returns the new address relative to the new CS (still same range 0-1), or returns -1.0 if an error occurs or the target has been found.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class codesimian.AddressShape
AddressShape.Fractal, AddressShape.Linear, AddressShape.Root
 
Field Summary
 
Fields inherited from class codesimian.AddressShape
ADDRESS_NUMBER, ADDRESS_START
 
Fields inherited from class codesimian.CS
DESCRIPTION, END, EXECPROXY, FUEL, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER
 
Constructor Summary
AddressShape.Fractal()
           
 
Method Summary
 double chanceOfError()
          Returns .9 (very high) because P(1).D() is required to be in range 0.0 (inclusive) to 1.0 (exclusive), and if it isnt, an error could happen.
 double DForProxy()
          D() and DForProxy() are the 2 most important functions in CS.
 int minP()
          For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1.
 
Methods inherited from class codesimian.DefaultCS
B, C, countP, decrementMyFuel, deleteP, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertP, insertS, insertZ, J, javaCode, keyword, LForProxy, LForProxy, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, P, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setP, setPrevExec, setS, setZ, start, toString, V, Z
 
Methods inherited from class codesimian.CS
addP, addP, addP, addP, addP, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, IForProxy, isIllusion, javaCode, JForProxy, L, L, L, L, L, maxD, maxP, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, setB, setC, setCost, setDescription, setF, setHeap, setI, setJ, setL, setL, setParent, setParsePriority, setProxyOf, setPType, setS, setTester, setZ, SForProxy, tester, VForProxy, voidReflect, ZForProxy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AddressShape.Fractal

public AddressShape.Fractal()
Method Detail

minP

public int minP()
Description copied from class: DefaultCS
For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1.

Overrides:
minP in class DefaultCS

chanceOfError

public double chanceOfError()
Returns .9 (very high) because P(1).D() is required to be in range 0.0 (inclusive) to 1.0 (exclusive), and if it isnt, an error could happen. Of course, if you obey that restriction, the chance of error is 0.


DForProxy

public double DForProxy()
Description copied from class: CS
D() and DForProxy() are the 2 most important functions in CS. They execute this CS. All other execute functions, by default, use DForProxy instead of reinventing-the-wheel for their own type.

For example, J() calls JForProxy() which calls DForProxy(). D() calls DForProxy() directly.

Execute this CS and cast to double. D() is the main EXECUTE function. D() uses DForProxy(). DForProxy() is the main action of every CS, the most important function. By default, all other primitive EXECUTE functions defer to D.
Functions that EXECUTE this CS: L(Class) L(int,Class,int) Z() B() C() S() I() J() F() D() V()

Specified by:
DForProxy in class DefaultCS