|
Packit |
89ede9 |
/*
|
|
Packit |
89ede9 |
* intlist.h
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* Copyright (c) Chris Putnam 2007-2018
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* Version 01/12/2017
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* Source code released under the GPL version 2
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
*/
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
#ifndef INTLIST_H
|
|
Packit |
89ede9 |
#define INTLIST_H
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
#define INTLIST_OK (0)
|
|
Packit |
89ede9 |
#define INTLIST_MEMERR (-1)
|
|
Packit |
89ede9 |
#define INTLIST_VALUE_MISSING (-2)
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
typedef struct intlist {
|
|
Packit |
89ede9 |
int n, max;
|
|
Packit |
89ede9 |
int *data;
|
|
Packit |
89ede9 |
} intlist;
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
void intlist_init( intlist *il );
|
|
Packit |
89ede9 |
int intlist_init_fill( intlist *il, int n, int value );
|
|
Packit |
89ede9 |
int intlist_init_range( intlist *il, int low, int high, int step );
|
|
Packit |
89ede9 |
intlist * intlist_new( void );
|
|
Packit |
89ede9 |
intlist * intlist_new_fill( int n, int value );
|
|
Packit |
89ede9 |
intlist * intlist_new_range( int low, int high, int step );
|
|
Packit |
89ede9 |
void intlist_delete( intlist *il );
|
|
Packit |
89ede9 |
void intlist_sort( intlist *il );
|
|
Packit |
89ede9 |
void intlist_randomize( intlist *il );
|
|
Packit |
89ede9 |
int intlist_add( intlist *il, int value );
|
|
Packit |
89ede9 |
int intlist_add_unique( intlist *il, int value );
|
|
Packit |
89ede9 |
int intlist_fill( intlist *il, int n, int value );
|
|
Packit |
89ede9 |
int intlist_fill_range( intlist *il, int low, int high, int step );
|
|
Packit |
89ede9 |
int intlist_find( intlist *il, int searchvalue );
|
|
Packit |
89ede9 |
int intlist_find_or_add( intlist *il, int searchvalue );
|
|
Packit |
89ede9 |
void intlist_empty( intlist *il );
|
|
Packit |
89ede9 |
void intlist_free( intlist *il );
|
|
Packit |
89ede9 |
int intlist_copy( intlist *to, intlist *from );
|
|
Packit |
89ede9 |
intlist * intlist_dup( intlist *from );
|
|
Packit |
89ede9 |
int intlist_get( intlist *il, int pos );
|
|
Packit |
89ede9 |
int intlist_set( intlist *il, int pos, int value );
|
|
Packit |
89ede9 |
int intlist_remove( intlist *il, int searchvalue );
|
|
Packit |
89ede9 |
int intlist_remove_pos( intlist *il, int pos );
|
|
Packit |
89ede9 |
int intlist_append( intlist *to, intlist *from );
|
|
Packit |
89ede9 |
int intlist_append_unique( intlist *to, intlist *from );
|
|
Packit |
89ede9 |
float intlist_median( intlist *il );
|
|
Packit |
89ede9 |
float intlist_mean( intlist *il );
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
#endif
|