00001 /*=========================================================================== 00002 NetEvo Foundation Library 00003 Copyright (C) 2009, 2010 Thomas E. Gorochowski <tgorochowski@me.com> 00004 Bristol Centre for Complexity Sciences, University of Bristol, Bristol, UK 00005 ---------------------------------------------------------------------------- 00006 NetEvo is a computing framework designed to allow researchers to investigate 00007 evolutionary aspects of dynamical complex networks. By providing tools to 00008 easily integrate each of these factors in a coherent way, it is hoped a 00009 greater understanding can be gained of key attributes and features displayed 00010 by complex systems. 00011 00012 NetEvo is open-source software released under the Open Source Initiative 00013 (OSI) approved Non-Profit Open Software License ("Non-Profit OSL") 3.0. 00014 Detailed information about this licence can be found in the COPYING file 00015 included as part of the source distribution. 00016 00017 This library is distributed in the hope that it will be useful, but 00018 WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 ============================================================================*/ 00032 #ifndef NE_MUT_H 00033 #define NE_MUT_H 00034 00035 00036 #include "ne_std.h" 00037 #include "ne_sys.h" 00038 00040 typedef ne_err_code_t ne_mut_fn_t (ne_sys_t *sys, ne_real_t *params, char *strMut); 00041 00043 typedef enum { 00044 NE_MUT_TOP = 1, 00045 NE_MUT_DYN = 2, 00046 NE_MUT_TOP_AND_DYN = 3 00047 } ne_mut_type_t; 00048 00050 typedef struct { 00051 ne_mut_type_t type; 00052 ne_real_t *params; 00053 ne_mut_fn_t *fn; 00054 } ne_mut_t; 00055 00056 00057 /* Generic free function for all mutational types. */ 00058 ne_err_code_t ne_mut_free (ne_mut_t *mutFn); 00059 00060 00061 #endif /* NE_MUT_H */