Changeset 2563 for trunk/sources/ALGLIB/ap.cs
- Timestamp:
- 12/17/09 17:05:22 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/ALGLIB/ap.cs
r2430 r2563 45 45 public static bool operator==(Complex lhs, Complex rhs) 46 46 { 47 return ( lhs.x==rhs.x) & (lhs.y==rhs.y);47 return ((double)lhs.x==(double)rhs.x) & ((double)lhs.y==(double)rhs.y); 48 48 } 49 49 public static bool operator!=(Complex lhs, Complex rhs) 50 50 { 51 return ( lhs.x!=rhs.x) | (lhs.y!=rhs.y);51 return ((double)lhs.x!=(double)rhs.x) | ((double)lhs.y!=(double)rhs.y); 52 52 } 53 53 public static Complex operator+(Complex lhs) … … 92 92 return result; 93 93 } 94 } 94 public override int GetHashCode() 95 { 96 return x.GetHashCode() ^ y.GetHashCode(); 97 } 98 public override bool Equals(object obj) 99 { 100 if( obj is byte) 101 return Equals(new Complex((byte)obj)); 102 if( obj is sbyte) 103 return Equals(new Complex((sbyte)obj)); 104 if( obj is short) 105 return Equals(new Complex((short)obj)); 106 if( obj is ushort) 107 return Equals(new Complex((ushort)obj)); 108 if( obj is int) 109 return Equals(new Complex((int)obj)); 110 if( obj is uint) 111 return Equals(new Complex((uint)obj)); 112 if( obj is long) 113 return Equals(new Complex((long)obj)); 114 if( obj is ulong) 115 return Equals(new Complex((ulong)obj)); 116 if( obj is float) 117 return Equals(new Complex((float)obj)); 118 if( obj is double) 119 return Equals(new Complex((double)obj)); 120 if( obj is decimal) 121 return Equals(new Complex((double)(decimal)obj)); 122 return base.Equals(obj); 123 } 124 } 95 125 96 126 /********************************************************************
Note: See TracChangeset
for help on using the changeset viewer.