def get_c_pointers(concentrations, constants, propensity_ints, reaction_arr,
    catalyst_arr):
    """This function returns the C pointers to the input arrays. Pointers must be pasted to SSA library functions
	
	Arguments:
		- concentrations: array of doubles containing molecule abundances
		- constants: array of np doubles containing reaction constants
		- propensity_ints: array of np int32 containing propesity integer codes 
		- reaction_arr: np int32 array with integers indicating the stochimetry of each reaction. 
			Each row is a reaction, each column is a molecule. Reactants are negative, products are postive
		- catalyst_arr: np double array with the effect of each molecule for each reaction.
			Rows are reactions, columns are molecule, non-zero value indicate catalysis
	Return:
	 	- concentrations_ptr: points to concentration array
	 	- constants_ptr: points to constants array
	 	- propensity_ints_ptr: points to propensity_ints array
	 	- reaction_arr_ptr: points to reaction_arr array
	 	- catalyst_arr_ptr: points to catalyst_arr
	"""
    from ctypes import c_int, c_double, POINTER
    concentrations_ptr = concentrations.ctypes.data_as(POINTER(c_double))
    constants_ptr = constants.ctypes.data_as(POINTER(c_double))
    propensity_ints_ptr = propensity_ints.ctypes.data_as(POINTER(c_int))
    reaction_arr_ptr = reaction_arr.ctypes.data_as(POINTER(c_int))
    catalyst_arr_ptr = catalyst_arr.ctypes.data_as(POINTER(c_double))
    return (concentrations_ptr, constants_ptr, propensity_ints_ptr,
        reaction_arr_ptr, catalyst_arr_ptr)
