#include <endian.h>#include <stdlib.h>#include <string.h>#include "pkvaria.h"
Defines | |
| #define | BOUND_VALUE 32 |
| #define | MAXCOUNT 256 |
| #define | CVF1 |
| #define | CVF2 |
| #define | CVD1 |
| #define | CVD2 |
| #define | CVLD1 |
| #define | CVLD2 |
Functions | |
| char | pkv_SortKernel (size_t key_size, char key_type, size_t item_length, size_t key_offset, unsigned int num_data, void *data, unsigned int *permut) |
| char | pkv_SortPermute (size_t item_length, unsigned int num_data, void *data, unsigned int *permut) |
| char | pkv_SortFast (size_t key_size, char key_type, size_t item_length, size_t key_offset, unsigned int num_data, void *data) |
| #define BOUND_VALUE 32 |
| #define CVD1 |
{ ap = (int*)mdata; \
if ( ap[1] >= 0 ) ap[1] ^= 0x80000000; \
else { ap[0] = ~ap[0]; ap[1] = ~ap[1]; } \
}
| #define CVD2 |
{ ap = (int*)mdata; \
if ( ap[1] < 0 ) ap[1] ^= 0x80000000; \
else { ap[0] = ~ap[0]; ap[1] = ~ap[1]; } \
}
| #define CVF1 |
{ ap = (int*)mdata; \
if ( *ap >= 0 ) *ap ^= 0x80000000; \
else *ap = ~(*ap); \
}
| #define CVF2 |
{ ap = (int*)mdata; \
if ( *ap < 0 ) *ap ^= 0x80000000; \
else *ap = ~(*ap); \
}
| #define CVLD1 |
{ ap = (short*)mdata; \
if ( ap[4] >= 0 ) ap[4] ^= 0x8000; \
else { bp = (int*)mdata; \
bp[0] = ~bp[0]; bp[1] = ~bp[1]; ap[4] = ~ap[4]; } \
}
| #define CVLD2 |
{ ap = (short*)mdata; \
if ( ap[4] < 0 ) ap[4] ^= 0x8000; \
else { bp = (int*)mdata; \
bp[0] = ~bp[0]; bp[1] = ~bp[1]; ap[4] = ~ap[4]; } \
}
| #define MAXCOUNT 256 |
| char pkv_SortFast | ( | size_t | key_size, | |
| char | key_type, | |||
| size_t | item_length, | |||
| size_t | key_offset, | |||
| unsigned int | num_data, | |||
| void * | data | |||
| ) |
| char pkv_SortKernel | ( | size_t | key_size, | |
| char | key_type, | |||
| size_t | item_length, | |||
| size_t | key_offset, | |||
| unsigned int | num_data, | |||
| void * | data, | |||
| unsigned int * | permut | |||
| ) |
| char pkv_SortPermute | ( | size_t | item_length, | |
| unsigned int | num_data, | |||
| void * | data, | |||
| unsigned int * | permut | |||
| ) |
1.7.1