int[][] adjustedProjections = new int[myGPUProjections.length][6];
inputOnGPU = new boolean[myGPUNetworkArrays.length][];
Node workingArray;
int networkArrayOffset = 0;
NetworkArrayData networkArrayData = new NetworkArrayData();
int[][] networkArrayDataArray = new int[myGPUNetworkArrays.length][];
int totalInputSize = 0;
// store networkArray data
for(i = 0; i < myGPUNetworkArrays.length; i++){
networkArrayData.reset();
workingArray = myGPUNetworkArrays[i];
networkArrayData.indexOfFirstNode = networkArrayOffset;
if(workingArray instanceof NEFEnsembleImpl){
networkArrayOffset++;
}else{
networkArrayOffset += ((NetworkImpl) workingArray).getNodes().length;
}
networkArrayData.endIndex = networkArrayOffset;
Termination[] networkArrayTerminations = workingArray.getTerminations();
networkArrayData.numTerminations = networkArrayTerminations.length;
for(j = 0; j < networkArrayTerminations.length; j++){
networkArrayData.totalInputSize += networkArrayTerminations[j].getDimensions();
}
totalInputSize += networkArrayData.totalInputSize;
Origin[] networkArrayOrigins;
if(workingArray instanceof NEFEnsembleImpl)
{
networkArrayOrigins = ((NEFEnsembleImpl) workingArray).getDecodedOrigins();
}else{
networkArrayOrigins = workingArray.getOrigins();
}
networkArrayData.numOrigins = networkArrayOrigins.length;
for(j = 0; j < networkArrayOrigins.length; j++){
networkArrayData.totalOutputSize += networkArrayOrigins[j].getDimensions();