@@ -1111,15 +1111,6 @@ internal TdxNumber RunFun(Func<double, int> fun)
11111111 return new TdxNumber ( temp ) ;
11121112 }
11131113 [ System . Diagnostics . DebuggerNonUserCode ]
1114- internal TdxNumber RunFun2 ( Func < double , double , double > fun , int num )
1115- {
1116- double [ ] temp = new double [ length ] ;
1117- for ( int i = 0 ; i < length ; i ++ ) {
1118- temp [ i ] = fun ( vals [ i ] , num ) ;
1119- }
1120- return new TdxNumber ( temp ) ;
1121- }
1122- [ System . Diagnostics . DebuggerNonUserCode ]
11231114 internal TdxNumber RunFun2 ( Func < double , double , double > fun , double num )
11241115 {
11251116 double [ ] temp = new double [ length ] ;
@@ -1144,7 +1135,8 @@ internal bool GetBoolean(int i)
11441135 {
11451136 return vals [ i ] != 0 ;
11461137 }
1147-
1138+
1139+ #region override
11481140 /// <summary>
11491141 /// ToString
11501142 /// </summary>
@@ -1153,5 +1145,26 @@ public override string ToString()
11531145 {
11541146 return $ "TdxNumber len: { length } ";
11551147 }
1148+
1149+ /// <summary>
1150+ /// Equals
1151+ /// </summary>
1152+ /// <param name="obj"></param>
1153+ /// <returns></returns>
1154+ public override bool Equals ( object obj )
1155+ {
1156+ return obj is TdxNumber number &&
1157+ length == number . length &&
1158+ EqualityComparer < double [ ] > . Default . Equals ( vals , number . vals ) ;
1159+ }
1160+ /// <summary>
1161+ /// GetHashCode
1162+ /// </summary>
1163+ /// <returns></returns>
1164+ public override int GetHashCode ( )
1165+ {
1166+ return HashCode . Combine ( length , vals ) ;
1167+ }
1168+ #endregion
11561169 }
11571170}
0 commit comments