public static SparseIntVect64 FromJsonToSIV(string json) { var sv = FromJson(json); var siv = new SparseIntVect64(sv.Size); foreach (var e in sv.Nonzero) siv.setVal(e.Key, e.Value); return siv; }
public static string ToJson(SparseIntVect64 vector) { var sb = new StringBuilder(); sb.Append("{"); sb.Append($"\"size\":{vector.Count()},"); sb.Append("\"nonzero\":{"); sb.Append(string.Join(",", vector.GetNonzero().Select(n => $"{n.first}:{n.second}"))); sb.Append("}}"); return sb.ToString(); }
public static RDKitSparseVector FromSIV(SparseIntVect64 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(SparseIntVect64 vector) { return(RDKitSparseVector.ToJson(vector)); }
public static Long_Pair_Vect GetNonzero(this SparseIntVect64 v) => v.getNonzero();
public static int Count(this SparseIntVect64 v) => (int)v.size();
public static double TverskySimilarity(SparseIntVect64 v1, SparseIntVect64 v2, double a, double b, bool returnDistance = false, double bounds = 0) => RDKFuncs.TverskySimilarity(v1, v2, a, b, returnDistance, bounds);
public static double TanimotoSimilarity(SparseIntVect64 v1, SparseIntVect64 v2, bool returnDistance = false, double bounds = 0) => RDKFuncs.TanimotoSimilaritySIVi64(v1, v2, returnDistance, bounds);
public static double DiceSimilarity(SparseIntVect64 v1, SparseIntVect64 v2, bool returnDistance = false, double bounds = 0) => RDKFuncs.DiceSimilarity(v1, v2, returnDistance, bounds);