|
@@ -92,6 +92,10 @@ static BBArray *allocateArray( const char *type,int dims,int *lens, unsigned sho
|
|
|
case '[':size=sizeof(void*);flags=0;break;
|
|
|
case '(':size=sizeof(void*);break;
|
|
|
case 'z':size=sizeof(BBSIZET);break;
|
|
|
+ #ifdef _WIN32
|
|
|
+ case 'w':size=sizeof(WPARAM);break;
|
|
|
+ case 'x':size=sizeof(LPARAM);break;
|
|
|
+ #endif
|
|
|
#ifdef __x86_64__
|
|
|
case 'h':size=sizeof(BBFLOAT64);break;
|
|
|
case 'j':size=sizeof(BBINT128);break;
|
|
@@ -382,6 +386,10 @@ QSORTARRAY( BBUInt64,qsort_y );
|
|
|
QSORTARRAY( float,qsort_f );
|
|
|
QSORTARRAY( double,qsort_d );
|
|
|
QSORTARRAY( BBSIZET,qsort_z );
|
|
|
+#ifdef _WIN32
|
|
|
+QSORTARRAY( WPARAM,qsort_w );
|
|
|
+QSORTARRAY( LPARAM,qsort_x );
|
|
|
+#endif
|
|
|
#undef LESSTHAN
|
|
|
#define LESSTHAN(X,Y) ((*X)->clas->Compare(*(X),*(Y))<0)
|
|
|
QSORTARRAY( BBObject*,qsort_obj );
|
|
@@ -396,6 +404,10 @@ QSORTARRAY( BBUInt64,qsort_y_d );
|
|
|
QSORTARRAY( float,qsort_f_d );
|
|
|
QSORTARRAY( double,qsort_d_d );
|
|
|
QSORTARRAY( BBSIZET,qsort_z_d );
|
|
|
+#ifdef _WIN32
|
|
|
+QSORTARRAY( WPARAM,qsort_w_d );
|
|
|
+QSORTARRAY( LPARAM,qsort_x_d );
|
|
|
+#endif
|
|
|
#undef LESSTHAN
|
|
|
#define LESSTHAN(X,Y) ((*X)->clas->Compare(*(X),*(Y))>0)
|
|
|
QSORTARRAY( BBObject*,qsort_obj_d );
|
|
@@ -418,6 +430,10 @@ void bbArraySort( BBArray *arr,int ascending ){
|
|
|
case 'd':qsort_d( (double*)p,(double*)p+n );break;
|
|
|
case '$':case ':':qsort_obj( (BBObject**)p,(BBObject**)p+n );break;
|
|
|
case 'z':qsort_z( (BBSIZET*)p,(BBSIZET*)p+n );break;
|
|
|
+#ifdef _WIN32
|
|
|
+ case 'w':qsort_w( (WPARAM*)p,(WPARAM*)p+n );break;
|
|
|
+ case 'x':qsort_x( (LPARAM*)p,(LPARAM*)p+n );break;
|
|
|
+#endif
|
|
|
}
|
|
|
}else{
|
|
|
switch( arr->type[0] ){
|
|
@@ -431,6 +447,10 @@ void bbArraySort( BBArray *arr,int ascending ){
|
|
|
case 'd':qsort_d_d( (double*)p,(double*)p+n );break;
|
|
|
case '$':case ':':qsort_obj_d( (BBObject**)p,(BBObject**)p+n );break;
|
|
|
case 'z':qsort_z_d( (BBSIZET*)p,(BBSIZET*)p+n );break;
|
|
|
+#ifdef _WIN32
|
|
|
+ case 'w':qsort_w_d( (WPARAM*)p,(WPARAM*)p+n );break;
|
|
|
+ case 'x':qsort_x_d( (LPARAM*)p,(LPARAM*)p+n );break;
|
|
|
+#endif
|
|
|
}
|
|
|
}
|
|
|
}
|