public static string ToJson(SparseIntVect32 vector) { var sb = new StringBuilder(); sb.Append("{"); sb.Append($"\"size\":{vector.size()},"); sb.Append("\"nonzero\":{"); sb.Append(string.Join(",", vector.getNonzero().Select(n => $"{n.first}:{n.second}"))); sb.Append("}}"); return sb.ToString(); }
public static RDKitSparseVector FromSIV(SparseIntVect32 vector) { var o = new RDKitSparseVector() { Size = vector.Count(), }; o.Nonzero = new Dictionary<long, int>(); foreach (var e in vector.GetNonzero()) { o.Nonzero.Add(e.first, e.second); } return o; }
public static string ToExcelString(SparseIntVect32 vector) { return(RDKitSparseVector.ToJson(vector)); }
public static Match_Vect GetNonzero(this SparseIntVect32 v) => v.getNonzero();
public static int Count(this SparseIntVect32 v) => (int)v.size();
public static double TverskySimilarity(SparseIntVect32 v1, SparseIntVect32 v2, double a, double b, bool returnDistance = false, double bounds = 0) => RDKFuncs.TverskySimilarity(v1, v2, a, b, returnDistance, bounds);
public static double TanimotoSimilarity(SparseIntVect32 v1, SparseIntVect32 v2, bool returnDistance = false, double bounds = 0) => RDKFuncs.TanimotoSimilaritySIVi32(v1, v2, returnDistance, bounds);
public static double DiceSimilarity(SparseIntVect32 v1, SparseIntVect32 v2, bool returnDistance = false, double bounds = 0) => RDKFuncs.DiceSimilarity(v1, v2, returnDistance, bounds);