00001 /* Author: Geoff Leach, Department of Computer Science, RMIT. 00002 * email: gl@cs.rmit.edu.au 00003 * 00004 * Date: 6/10/93 00005 * 00006 * Version 1.0 00007 * 00008 * Copyright (c) RMIT 1993. All rights reserved. 00009 * 00010 * License to copy and use this software purposes is granted provided 00011 * that appropriate credit is given to both RMIT and the author. 00012 * 00013 * License is also granted to make and use derivative works provided 00014 * that appropriate credit is given to both RMIT and the author. 00015 * 00016 * RMIT makes no representations concerning either the merchantability 00017 * of this software or the suitability of this software for any particular 00018 * purpose. It is provided "as is" without express or implied warranty 00019 * of any kind. 00020 * 00021 * These notices must be retained in any copies of any part of this software. 00022 */ 00023 00024 #include <stdlib.h> 00025 /* divide_and_conquer.c */ 00026 void divide(point *p_sorted[], size_t l, size_t r, edge **l_ccw, edge **r_cw); 00027 00028 /* edge.c */ 00029 edge *join(edge *a, point *u, edge *b, point *v, side s); 00030 void delete_edge(edge *e); 00031 void splice(edge *a, edge *b, point *v); 00032 edge *make_edge(point *u, point *v); 00033 00034 /* error.c */ 00035 void panic(char *m); 00036 00037 /* memory.c */ 00038 void alloc_memory(cardinal n); 00039 void free_memory(); 00040 edge *get_edge(); 00041 void free_edge(edge *e); 00042 00043 /* sort.c */ 00044 void merge_sort(point *p[], point *p_temp[], size_t l, size_t r);