|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcodesimian.CS<CSGeneric>
codesimian.DefaultCS
codesimian.PrimitiveArray
public abstract class PrimitiveArray
Contains inner subclasses for efficiently using primitive arrays.
For efficiency, does NOT use the PROXY (setExec(CS) and getExec()) for some functions.
This would usually cause infinite-loops,
but its ok here because primitives are LEAFs in a tree therefore cant be in a cycle.
If you want to insert and delete from the array,
you should use a tree, where leafs contain small primitive arrays,
and put those classes here when you build them.
THIS CLASS IS NOT FINISHED
Nested Class Summary | |
---|---|
static class |
PrimitiveArray.ByteArray
stores all params as bytes (instead of CSs) in an array, and converts them to CS by using the constant-pool when requested. THIS CLASS WAS NOT AUTOMATICLY-GENERATED BY PrimitiveArray.javaCodeForSubclass(byte[].class), but it should be. |
static class |
PrimitiveArray.IntArray
stores all params as ints (instead of CSs) in an array, and converts them to CS by using the constant-pool when requested. THIS CLASS WAS NOT AUTOMATICLY-GENERATED BY PrimitiveArray.javaCodeForSubclass(int[].class), but it should be. |
static class |
PrimitiveArray.ShortArray
hard-coding 3 similar classes is too much... |
Field Summary |
---|
Fields inherited from class codesimian.CS |
---|
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS |
Constructor Summary | |
---|---|
PrimitiveArray()
|
Method Summary | |
---|---|
static byte[] |
bitsToBytes(boolean[] bits)
|
static boolean[] |
bytesToBits(byte[] bytes)
|
static byte[] |
concatByteArrays(CS listOfByteArrays)
|
static boolean[] |
cutBitsToMultipleOf8(boolean[] bits)
|
double |
D()
Execute this CS and cast to double. |
boolean |
deleteP(int index)
WARNING: if returns false, could have deleted but not moved other params down 1 index. WARNING: if duplicates not allowed, can not slide params down 1 index the standard way, returns false. |
double |
DForProxy()
Execute this CS and cast to double. |
boolean |
insertP(int index,
CS value)
same as setP(int,CS) but inserts instead of overwriting. |
byte |
isIllusion(int index)
Describes if the CS in an index is an illusion or not. |
static java.lang.String |
javaCodeForSubclass(java.lang.Class arrayType)
returns a String of Java code for an inner subclass of PrimitiveArray, to be copy/pasted into PrimitiveArray.java (or automaticly modify that file?). |
java.lang.String |
keyword()
For the CodeSimian language as a String. CodeSimian language keyword, like "+" "*" "max" ">" etc. Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add. Some CSs might never be intended to be used in the language by their keyword. The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()". |
int |
maxP()
Maximum quantity of Params |
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. |
static boolean[] |
padBitsToMultipleOf8(boolean[] bits,
boolean padValue)
|
static int |
sizeOfConcatChilds(CS listOfLists)
|
static byte[] |
subarray(byte[] b,
int start,
int size)
|
Methods inherited from class codesimian.DefaultCS |
---|
B, C, countP, decrementMyFuel, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertS, insertZ, J, javaCode, 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, setPType, setS, setZ, start, toString, V, Z |
Methods inherited from class codesimian.CS |
---|
addB, addC, addD, addF, addI, addJ, addL, addP, addP, addP, addP, addP, addS, addZ, BForProxy, CForProxy, clone, cost, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, JForProxy, L, L, L, L, L, maxD, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, reflect6, setB, SETB, setC, SETC, setCost, SETD, setDescription, setF, SETF, setHeap, setI, SETI, setJ, SETJ, SETL, setL, setL, setParent, setParsePriority, setProxyOf, setS, SETS, setTester, setZ, SETZ, SForProxy, tester, toJavaCode, VForProxy, voidReflect, ZForProxy |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PrimitiveArray()
Method Detail |
---|
public double DForProxy()
CS
DForProxy
in class DefaultCS
public double D()
CS
D
in class CS
CS.L(java.lang.Class)
public java.lang.String keyword()
DefaultCS
keyword
in class DefaultCS
CS.parent()
,
CS.newInstance()
,
CS.name()
public byte isIllusion(int index)
CS
isIllusion
in class CS
CS.overwrites(int)
,
S.isIllusion(int)
public int minP()
DefaultCS
minP
in class DefaultCS
public int maxP()
CS
maxP
in class CS
public boolean deleteP(int index)
DefaultCS
deleteP
in class DefaultCS
public boolean insertP(int index, CS value)
CS
insertP
in class DefaultCS
public static java.lang.String javaCodeForSubclass(java.lang.Class arrayType)
arrayType
- any of boolean[].class, byte[].class, int[].class, float[].class, etc.
(Later, support may be added for multidimensional array types like int[][][].class, but not yet.)public static boolean[] bytesToBits(byte[] bytes)
public static byte[] bitsToBytes(boolean[] bits)
public static boolean[] cutBitsToMultipleOf8(boolean[] bits)
public static boolean[] padBitsToMultipleOf8(boolean[] bits, boolean padValue)
public static byte[] subarray(byte[] b, int start, int size)
public static byte[] concatByteArrays(CS listOfByteArrays)
public static int sizeOfConcatChilds(CS listOfLists)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |