public override int CompareTo(VHDLScalarValue obj)
 {
     if (obj is VHDLIntegerValue)
     {
         VHDLIntegerValue els = obj as VHDLIntegerValue;
         return(mValue.CompareTo(els.mValue));
     }
     throw new ArgumentException("Could not cast {0} to VHDLIntegerValue", obj.GetType().Name);
 }
 public override int CompareTo(VHDLScalarValue obj)
 {
     if (obj is VHDLPhysicalValue <T> )
     {
         VHDLPhysicalValue <T> els = obj as VHDLPhysicalValue <T>;
         return(mValue.CompareTo(els.mValue));
     }
     throw new ArgumentException(string.Format("Could not cast {0} to VHDLPhysicalValue<{1}>", obj.GetType().Name, GetType().Name));
 }