Hi ryta1203,
You should be able to do an array of streams but I think there is an issue with the way that brcc parses the [] notation. This was asked on streamdeveloper@amd.com before and if I remember correctly, I had to split my CPU code out of the .br file and expand the stream notations myself. You'll see that it is simply doing the transformations on the CPU code that brcc would have done anyways.
Here is a snippet of code from when I answered it in the private email:
int j, i;
//float a<10, 10>;
//float b<10, 10>;
//float c<10, 10>[20];
// below, use (float *) when referencing type float.
// below, -1 is used to indicate the end of the variable argument list.
::brook::stream a(::brook::getStreamType(( float *)0), 10 , 10,-1);
::brook::stream b(::brook::getStreamType(( float *)0), 10 , 10,-1);
::brook::stream ** c;
c = new ::brook::stream *[20];
for( i = 0; i < 20; i++ )
{
c = new ::brook::stream(::brook::getStreamType(( float *)0), 10 , 10,-1);
}
.
.
.
streamRead(a, input_a);
streamRead(b, input_b);
sum(a, b, *(c[0]));
streamWrite(*(c[0]), input_c);
For sum, I copied in the prototype from the .cpp file generated by brcc:
void sum (::brook::stream a,
::brook::stream b,
::brook::stream c);
As for integer support, the team is working hard on it and it is looking possible but I can't commit to definite integer support by v1.0. We'll know more definitely in a week or 2.
Michael.