anchor.diff:  #define MINIMUM_HEAT_CAPACITY	0.0003
   #define QUANTIZE(variable)		(round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that
   															once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */
  -#define REAGENT_GAS_AMT 2.5
   var/list/meta_gas_info = meta_gas_list() //see ATMOSPHERICS/gas_types.dm
   
   var/list/gaslist_cache = null
  
positive.code: 
  	var/list/cached_gases = gases
  	var/list/sharer_gases = sharer.gases
  	var/list/our_reagents = reagents.reagent_list
  	var/list/their_reagents = sharer.reagents.reagent_list
  
  	for(var/R in our_reagents)
  		var/datum/reagent/RAO = R
  		if(!sharer.reagents.has_reagent(RAO.id))
  			sharer.reagents.add_reagent(RAO.id, REAGENT_GAS_AMT)
  
  	for(var/RA in their_reagents)
  		var/datum/reagent/RAT = RA
  		if(!reagents.has_reagent(RAT.id))
  			reagents.add_reagent(RAT.id, REAGENT_GAS_AMT)
  
  	var/temperature_delta = temperature_archived - sharer.temperature_archived
  	var/abs_temperature_delta = abs(temperature_delta)
  
negative.code: 		removed.add_gas(id)
  		removed_gases[id][MOLES] = QUANTIZE((cached_gases[id][MOLES] / sum) * amount)
  		cached_gases[id][MOLES] -= removed_gases[id][MOLES]
  	garbage_collect()
  
  	return removed
  