Exemple #1
0
        /// <summary>
        /// 正态分布
        /// </summary>
        /// <param name="baseNet"></param>
        /// <param name="row"></param>
        /// <param name="column"></param>
        /// <returns></returns>
        public static double[,] NormalDistribution(this IBaseNet baseNet, int row, int column)
        {
            double E     = 0; //正态分布期望
            double D     = 1; //正态分布方差
            int    count = row * column;

            double[] ZTFBArr = new double[count];
            for (int i = 0; i < count; i++)
            {
                double?result = GetZTFB(u1.NextDouble(), u1.NextDouble(), E, D);
                if (result != null)
                {
                    ZTFBArr[i] = (double)result;
                }
            }
            var w = new double[row, column];

            for (int r = 0; r < row; r++)
            {
                for (int c = 0; c < column; c++)
                {
                    w[r, c] = ZTFBArr[r * column + c] * 0.01;
                }
            }
            return(w);
        }
        private bool CheckAndDispose(IBaseNet sender)
        {
            switch (perms.DispatchPermission)
            {
            case Permission.Specific:
                if (!perms.DispatchContains(IPAddress.Parse(sender.RemoteIP)))
                {
                    Log.WriteLine($"[{sender.RemoteIP}] NOT ENOUGH DISPATCH PERMISSIONS"); return(true);
                }
                break;

            case Permission.None:
                Log.WriteLine($"[{sender.RemoteIP}] NOT ENOUGH DISPATCH PERMISSIONS"); return(true);
            }
            return(false);
        }
Exemple #3
0
        public static double[,] Distribution(this IBaseNet bsetNet, int row, int column)
        {
            int count = row * column;

            double[] ZTFBArr = new double[count];
            Random   u1      = new Random();

            for (int i = 0; i < count; i++)
            {
                ZTFBArr[i] = u1.NextDouble();
            }
            var w = new double[row, column];

            for (int r = 0; r < row; r++)
            {
                for (int c = 0; c < column; c++)
                {
                    w[r, c] = ZTFBArr[r * column + c];
                }
            }
            return(w);
        }