Defines | Functions

pksort.c File Reference

#include <endian.h>
#include <stdlib.h>
#include <string.h>
#include "pkvaria.h"
Include dependency graph for pksort.c:

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 Documentation

#define BOUND_VALUE   32
#define CVD1
Value:
{ ap = (int*)mdata; \
    if ( ap[1] >= 0 ) ap[1] ^= 0x80000000; \
               else { ap[0] = ~ap[0];  ap[1] = ~ap[1]; } \
  }
#define CVD2
Value:
{ ap = (int*)mdata; \
    if ( ap[1] < 0 ) ap[1] ^= 0x80000000; \
              else { ap[0] = ~ap[0];  ap[1] = ~ap[1]; } \
  }
#define CVF1
Value:
{ ap = (int*)mdata; \
    if ( *ap >= 0 ) *ap ^= 0x80000000; \
               else *ap = ~(*ap); \
  }
#define CVF2
Value:
{ ap = (int*)mdata; \
    if ( *ap < 0 ) *ap ^= 0x80000000; \
               else *ap = ~(*ap); \
  }
#define CVLD1
Value:
{ 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
Value:
{ 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

Function Documentation

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 
)