let eval_from_type t round = if isIntegralType t || isPointerType t then eval_int else eval_float round