Ejemplo n.º 1
0
        private static IDistribution createPointed(double[] p)
        {
            int dim = p.Length;

            IDistribution [] d     = new IDistribution[dim];
            IDistribution    prodd = null;

            string [] names_all = new string [dim];
            double [] mins_all  = new double [dim];
            double [] maxs_all  = new double [dim];

            IBlauSpace [] s     = new IBlauSpace[dim];
            IBlauSpace    prods = null;

            for (int i = 0; i < dim; i++)
            {
                string [] names = new string [1] {
                    "x" + i
                };
                double [] mins = new double [1] {
                    0.00
                };
                double [] maxs = new double [1] {
                    100.0
                };
                IBlauSpace s1 = BlauSpace.create(1, names, mins, maxs);
                d[i] = new Distribution_Pointed(s1, p [i]);

                names_all[i] = names[0];
                mins_all[i]  = mins[0];
                maxs_all[i]  = maxs[0];

                s[i] = BlauSpace.create(i + 1, names_all, mins_all, maxs_all);
                if (i == 0)
                {
                    prods = s[i];
                    prodd = d[i];
                }
                else
                {
                    prods = s[i];
                    Product prodd2 = new Product(prods);
                    prodd2.Add(prodd);
                    prodd2.Add(d[i]);
                    prodd2.DistributionComplete();
                    prodd = prodd2;
                }
            }
            return(prodd);
        }
Ejemplo n.º 2
0
        public static void MakePointed_Main(string[] args)
        {
            Console.WriteLine("MakePointed");

            // Command line parsing
            Arguments CommandLine = new Arguments(args);

            bool   err       = false;
            string errString = "";

            double val, min, max;
            string variable = "unassigned";
            string outfile  = "unassigned";

            val = min = max = -1.0;

            // Look for specific arguments values and display
            // them if they exist (return null if they don't)
            if (CommandLine["value"] != null)
            {
                try {
                    val = Double.Parse(CommandLine["value"]);
                }
                catch (Exception) {
                    errString += ("The specified 'value' was not valid.  ");
                    err        = true;
                }
            }
            else
            {
                errString += ("The 'value' was not specified.  ");
                err        = true;
            }

            if (CommandLine["variable"] != null)
            {
                variable = CommandLine["variable"];
            }
            else
            {
                errString += ("The 'variable' was not specified.  ");
                err        = true;
            }

            if (CommandLine["min"] != null)
            {
                try {
                    min = Double.Parse(CommandLine["min"]);
                }
                catch (Exception) {
                    errString += ("The specified 'min' was not valid.  ");
                    err        = true;
                }
            }
            else
            {
                errString += ("The 'min' was not specified.  ");
                err        = true;
            }

            if (CommandLine["max"] != null)
            {
                try {
                    max = Double.Parse(CommandLine["max"]);
                }
                catch (Exception) {
                    errString += ("The specified 'max' was not valid.  ");
                    err        = true;
                }
            }
            else
            {
                errString += ("The 'max' was not specified.  ");
                err        = true;
            }

            if (CommandLine["outfile"] != null)
            {
                outfile = CommandLine["outfile"];
            }
            else
            {
                errString += ("The 'outfile' was not specified.  ");
                err        = true;
            }

            if (err)
            {
                Console.Out.WriteLine("Arguments parsing failed.");
                Console.Out.WriteLine("  " + errString);
            }
            else
            {
                Console.Out.WriteLine("Arguments parsing successful.");
                Console.Out.WriteLine("  value = " + val);
                Console.Out.WriteLine("  variable = " + variable);
                Console.Out.WriteLine("  min = " + min);
                Console.Out.WriteLine("  max = " + max);
                Console.Out.WriteLine("  outfile = " + outfile);

                int       dim   = 1;
                string [] names = new string [1] {
                    ""
                };
                double [] mins = new double [1] {
                    0.00
                };
                double [] maxs = new double [1] {
                    0.0
                };
                names[0] = variable;
                mins[0]  = min;
                maxs[0]  = max;
                IBlauSpace    s = BlauSpace.create(dim, names, mins, maxs);
                IDistribution d = new Distribution_Pointed(s, val);

                Console.Out.WriteLine("Distribution: " + d);

                SoapFormatter formatter = new SoapFormatter();

                FileStream fs = new FileStream(outfile, FileMode.Create);
                formatter.Serialize(fs, d);
                fs.Close();
            }
        }