internal ValueExp( Datatype dt, object value )
     : base(dt.GetHashCode()*dt.ValueHashCode(value)*HASH_VALUE, false)
 {
     // TODO: probably the epsilon reducibility is wrong.
     // can we treat epsilon-reducibility as an approximation?
     // rather than the precise value?
     this.dt = dt;
     this.value = value;
 }
Esempio n. 2
0
 internal ValueExp(Datatype dt, object value)
     : base(dt.GetHashCode() * dt.ValueHashCode(value) * HASH_VALUE, false)
 {
     // TODO: probably the epsilon reducibility is wrong.
     // can we treat epsilon-reducibility as an approximation?
     // rather than the precise value?
     this.dt    = dt;
     this.value = value;
 }
 internal DataExp( Datatype _dt, Expression _except, string _name )
     : base(_dt.GetHashCode()*HASH_DATA, false)
 {
     // TODO: probably the epsilon reducibility is wrong.
     // can we treat epsilon-reducibility as an approximation?
     // rather than the precise value?
     this.except = _except;
     this.dt = _dt;
     this.name = _name;
 }
Esempio n. 4
0
 internal DataExp(Datatype _dt, Expression _except, string _name)
     : base(_dt.GetHashCode() * HASH_DATA, false)
 {
     // TODO: probably the epsilon reducibility is wrong.
     // can we treat epsilon-reducibility as an approximation?
     // rather than the precise value?
     this.except = _except;
     this.dt     = _dt;
     this.name   = _name;
 }
Esempio n. 5
0
    public override int GetHashCode()
    {
        int hash = 1;

        if (Name.Length != 0)
        {
            hash ^= Name.GetHashCode();
        }
        if (Offset != 0)
        {
            hash ^= Offset.GetHashCode();
        }
        if (Datatype != 0)
        {
            hash ^= Datatype.GetHashCode();
        }
        if (Count != 0)
        {
            hash ^= Count.GetHashCode();
        }
        return(hash);
    }
Esempio n. 6
0
 public override int GetHashCode()
 {
     return((LexicalForm?.GetHashCode() ?? 0) + (Datatype?.GetHashCode() ?? 0) + (LanguageTag?.GetHashCode() ?? 0));
 }