Ver código fonte

Added size param for initialised arrays.

Brucey 2 anos atrás
pai
commit
37cc0f5560
2 arquivos alterados com 6 adições e 1 exclusões
  1. 5 1
      blitz.mod/blitz_array.c
  2. 1 0
      blitz.mod/blitz_array.h

+ 5 - 1
blitz.mod/blitz_array.c

@@ -349,12 +349,16 @@ BBArray *bbArrayConcat( const char *type,BBArray *x,BBArray *y ){
 }
 
 BBArray *bbArrayFromData( const char *type,int length,void *data ){
+	return bbArrayFromDataSize(type, length, data, 0);
+}
+
+BBArray *bbArrayFromDataSize( const char *type,int length,void *data, unsigned short data_size ){
 
 	BBArray *arr;
 
 	if( length<=0 ) return &bbEmptyArray;
 	
-	arr=allocateArray( type,1,&length,0 );
+	arr=allocateArray( type,1,&length,data_size );
 
 	memcpy( BBARRAYDATA( arr,1 ),data,arr->size );
 

+ 1 - 0
blitz.mod/blitz_array.h

@@ -78,6 +78,7 @@ BBArray*	bbArrayNew1DStruct( const char *type,int length, unsigned short data_si
 BBArray*	bbArrayNewStruct( const char *type,unsigned short data_size, BBArrayStructInit init, int dims, ... );
 BBArray*	bbArrayFromDataStruct( const char *type,int length,void *data, unsigned short data_size );
 BBArray*	bbArraySliceStruct( const char *type,BBArray *inarr,int beg,int end, unsigned short data_size, BBArrayStructInit structInit );
+BBArray*	bbArrayFromDataSize( const char *type,int length,void *data, unsigned short data_size );
 
 void bbArrayCopy(BBArray * srcArr, int srcPos, BBArray * dstArr, int dstPos, int length);