Help for this page

Select Code to Download


  1. or download this
    C:\test\C>bufswap 536870912 268435456 2   ### 2^29 2^28
    size:536870912 offset;268435456
    ...
    [         0          1 ...  268435454    268435455 ^  268435456    268
    +435457   ...  536870910  536870911 ]
    [ 268435456  268435457 ...  536870910    536870911 ^          0       
    +     1   ...  268435454  268435455 ]
    recursive: swaps:268435456 took 2.476348362 secs.
    
  2. or download this
    C:\test\C>bufswap 30000000 20000000 2
    size:30000000 offset;20000000
    ...
    [         0          1 ...   19999998     19999999 ^   20000000     20
    +000001   ...   29999998   29999999 ]
    [  20000000   20000001 ...   29999998     29999999 ^          0       
    +     1   ...   19999998   19999999 ]
    recursive: swaps:20000000 took 0.163142653 secs.
    
  3. or download this
    C:\test\C>bufswap 536870855 268435399 2      ### 2^28+prime prime
    size:536870855 offset;268435399
    ...
    [         0          1 ...  268435397    268435398 ^  268435399    268
    +435400   ...  536870853  536870854 ]
    [ 268435399  268435400 ...  536870853    536870854 ^          0       
    +     1   ...  268435397  268435398 ]
    recursive: swaps:536870854 took 3.633964430 secs.
    
  4. or download this
    C:\test\C>bufswap 2097147 1048571 2          ### 2^20+prime prime
    size:2097147 offset;1048571
    ...
    [         0          1 ...  134217687    134217688 ^  134217689    134
    +217690   ...  268435415  268435416 ]
    [ 134217689  134217690 ...  268435415    268435416 ^          0       
    +     1   ...  134217687  134217688 ]
    reversive: swaps:268435416 took 2.337291168 secs.
    
  5. or download this
    abcdef123
    321fedcba reverse the entire buffer.
    123fedcba reverse the smaller partition.
    123abcdef reverse the larger partition.
    
  6. or download this
    U32 reverseBuffer( register U64 *p, const U32 start, const U32 size ) 
    +{
        register U32 i, swaps = 0;
    ...
        swaps += reverseBuffer( p + (size - offset), 0, offset );
        return swaps;
    }