static bool TestCombineString(double w1, double w2, string pcombinestring)
        {
            List <sDoublePair> Ranges = new List <sDoublePair>();

            //Look through the string and delete all characters we don't understand
            string combinestring = pcombinestring;

            for (int i = combinestring.Length - 1; i >= 0; --i)
            {
                if (Char.IsDigit(combinestring[i]))
                {
                    continue;
                }
                if (combinestring[i] == ',')
                {
                    continue;
                }
                if (combinestring[i] == ';')
                {
                    continue;
                }
                if (combinestring[i] == '-')
                {
                    continue;
                }
                if (combinestring[i] == '.')
                {
                    continue;
                }

                combinestring.Remove(i, 1);
            }

            //Split and parse string into ranges
            string[] toks = combinestring.Split(';', ',');
            foreach (string tok in toks)
            {
                if (tok.Length == 0)
                {
                    continue;
                }
                string[] numbers = tok.Split('-');
                if (numbers.Length == 0)
                {
                    continue;
                }

                sDoublePair addpair = new sDoublePair();
                if (numbers.Length == 1)
                {
                    addpair.a = double.Parse(numbers[0], System.Globalization.CultureInfo.InvariantCulture);
                    addpair.b = addpair.a;
                }
                else
                {
                    addpair.a = double.Parse(numbers[0], System.Globalization.CultureInfo.InvariantCulture);
                    addpair.b = double.Parse(numbers[1], System.Globalization.CultureInfo.InvariantCulture);
                }
                Ranges.Add(addpair);
            }

            //Find out which range we fall into
            return(GetRangeIndex(Ranges, w1) == GetRangeIndex(Ranges, w2));
        }
        static bool TestCombineString(double w1, double w2, string pcombinestring)
        {
            List<sDoublePair> Ranges = new List<sDoublePair>();

            //Look through the string and delete all characters we don't understand
            string combinestring = pcombinestring;
            for (int i = combinestring.Length - 1; i >= 0; --i)
            {
                if (Char.IsDigit(combinestring[i])) continue;
                if (combinestring[i] == ',') continue;
                if (combinestring[i] == ';') continue;
                if (combinestring[i] == '-') continue;
                if (combinestring[i] == '.') continue;

                combinestring.Remove(i, 1);
            }

            //Split and parse string into ranges
            string[] toks = combinestring.Split(';', ',');
            foreach (string tok in toks)
            {
                if (tok.Length == 0) continue;
                string[] numbers = tok.Split('-');
                if (numbers.Length == 0) continue;

                sDoublePair addpair = new sDoublePair();
                if (numbers.Length == 1)
                {
                    addpair.a = double.Parse(numbers[0], System.Globalization.CultureInfo.InvariantCulture);
                    addpair.b = addpair.a;
                }
                else
                {
                    addpair.a = double.Parse(numbers[0], System.Globalization.CultureInfo.InvariantCulture);
                    addpair.b = double.Parse(numbers[1], System.Globalization.CultureInfo.InvariantCulture);
                }
                Ranges.Add(addpair);
            }

            //Find out which range we fall into
            return (GetRangeIndex(Ranges, w1) == GetRangeIndex(Ranges, w2));
        }