namespace Eva { public class Double : Object, Term, Numeric { public double value {get; construct;} public int int_value { get { return (int)value; } } public uint uint_value { get { return (uint)value; } } public long long_value { get { return (long)value; } } public ulong ulong_value { get { return (ulong)value; } } public double double_value { get { return value; } } public Double(double v) { Object(value: v); } public string to_string() { return value.to_string(); } protected bool do_match(Term o, Gee.Map vars, Gee.Map aliases) { if(o is Var) { return o.do_match(this, vars, aliases); } if(o is Double) { return value == (o as Double).value; } else { return false; } } internal void encode(Buffer buffer) { buffer.buffer.encode_double(value); } } }