/* fonction de tri */
/*    cmv 23/06/94 */

#ifndef NBTRI_H_SEEN
#define NBTRI_H_SEEN


#include "machdefs.h"

#ifdef __cplusplus
extern "C" {
#endif


void HeapSort(int n,double *ra_int);
void HeapSortF(int n,float *ra_int);
void HeapSortF2(int n,float *ra_int,float *ra2_int);

int_4 tri_double ( double *tab, int_4 *indx,int_4 N);
int_4 tri_float ( float *tab, int_4 *indx,int_4 N);
int_4 tri_entier ( int_4 *tab,int_4 *indx,int_4 N);

int_4 tri_rapide_I (int_4 *datum,int_4 *index,int_4 N);
int_4 tri_rapide_F (float *datum,int_4 *index,int_4 N);

int qSort_Float(const void *a1,const void *a2);
int qSort_Dble(const void *a1,const void *a2);
int qSort_Int(const void *a1,const void *a2);
int qSort_Ushort(const void *a1,const void *a2);
int qSort_Short(const void *a1,const void *a2);

void IndexR4(int_4 n, float* arr_c, int_4* indx_c);
void IndexR8(int_4 n, double* arr_c, int_4* indx_c);

#ifdef __cplusplus
}
#endif

#endif

