2015-07-31 17:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/asort.c
! fixed missing nStart checking during array items reordering
* utils/hbtest/rt_array.prg
* updated Harbour specific results - I thought that someone
invested time to exactly replicate CA-Cl*pper ASort() sorting
but in fact Harbour specific resutls where hardcoded inside
HBTEST so previous code was not Cl*pper compatible in the
same way as current one.
This commit is contained in:
@@ -10,6 +10,17 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2015-07-31 17:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/vm/asort.c
|
||||
! fixed missing nStart checking during array items reordering
|
||||
|
||||
* utils/hbtest/rt_array.prg
|
||||
* updated Harbour specific results - I thought that someone
|
||||
invested time to exactly replicate CA-Cl*pper ASort() sorting
|
||||
but in fact Harbour specific resutls where hardcoded inside
|
||||
HBTEST so previous code was not Cl*pper compatible in the
|
||||
same way as current one.
|
||||
|
||||
2015-07-31 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rtl/gtxwc/gtxwc.c
|
||||
* src/rtl/mlcfunc.c
|
||||
|
||||
@@ -309,9 +309,9 @@ static void hb_arraySortStart( PHB_BASEARRAY pBaseArray, PHB_ITEM pBlock,
|
||||
|
||||
for( nPos = 0; nPos < nCount; ++nPos )
|
||||
{
|
||||
if( nPos != pDest[ nPos ] )
|
||||
if( nPos + nStart != pDest[ nPos ] )
|
||||
{
|
||||
hb_itemSwap( pBaseArray->pItems + nPos,
|
||||
hb_itemSwap( pBaseArray->pItems + nPos + nStart,
|
||||
pBaseArray->pItems + pDest[ nPos ] );
|
||||
pDest[ pPos[ nPos ] ] = pDest[ nPos ];
|
||||
pPos[ pDest[ nPos ] - nStart ] = pPos[ nPos ];
|
||||
|
||||
@@ -296,20 +296,20 @@ PROCEDURE Main_ARRAY()
|
||||
sorting algorithms. Anyhow the results pattern should match.
|
||||
[vszakats] */
|
||||
#ifdef __HARBOUR__
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| NIL } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| hb_SToD() } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "0" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "1" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "2" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "a" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "A" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "z" } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| .T. } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| .F. } ) ) IS "FEIDGCHBJA"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 2 } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 1 } ) ) IS "DCBAEFIHGJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 0 } ) ) IS "FEIDGCHBJA"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| NIL } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| hb_SToD() } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "0" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "1" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "2" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "a" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "A" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| "z" } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| .T. } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| .F. } ) ) IS "JIHGFEDCBA"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 2 } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 1 } ) ) IS "ABCDEFGHIJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| 0 } ) ) IS "JIHGFEDCBA"
|
||||
#else
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| NIL } ) ) IS "IHGFEDCBAJ"
|
||||
HBTEST TAStr( ASort( TARRv(),,, {|| hb_SToD() } ) ) IS "IHGFEDCBAJ"
|
||||
|
||||
Reference in New Issue
Block a user