/// <summary> /// Invocar métodos dos plugins /// </summary> /// <param name="functionEnum">Quais métodos invocar</param> /// <param name="Arguments">Argumentos da função</param> public static void Invoke(FunctionsEnum functionEnum, params object[] Arguments) { if (!RegisterFunction.FunctionsJS.ContainsKey(functionEnum)) return; Dictionary<String, Object> Plugins = RegisterFunction.FunctionsJS[functionEnum]; foreach (String File in Plugins.Keys) { try { dynamic Function = Plugins[File]; Function( Arguments.Length > 0 ? Arguments[0] : null, Arguments.Length > 1 ? Arguments[1] : null, Arguments.Length > 2 ? Arguments[2] : null, Arguments.Length > 3 ? Arguments[3] : null, Arguments.Length > 4 ? Arguments[4] : null, Arguments.Length > 5 ? Arguments[5] : null, Arguments.Length > 6 ? Arguments[6] : null, Arguments.Length > 7 ? Arguments[7] : null, Arguments.Length > 8 ? Arguments[8] : null, Arguments.Length > 9 ? Arguments[9] : null ); } catch (Exception ex) { ConsoleConstants.WriteInConsole("Erro ao carregar função\n" + ex.Message + "\nPlugin: " + File , System.Drawing.Color.DarkRed); } } }
public SimpleNeuralNetwork(int _NoInputs, float _learning_rate, FunctionsEnum _ActivationFunction) { //if (_func == null) throw new System.ArgumentNullException("funcion '_func' no puede ser nula."); //if (_dfunc == null) throw new System.ArgumentNullException("funcion '_dfunc' no puede ser nula."); if (!(_NoInputs > 0)) { throw new System.ArgumentException("'_NoInputs' debe ser mayor a 0."); } if (!(_learning_rate > 0.0f && _learning_rate <= 1.0f)) { throw new System.ArgumentException("'_learning_rate' debe ser un valor mayor a 0.0 y menor o igual a 1.0 ."); } layers = new List <SimpleNeuralLayer>(); learning_rate = _learning_rate; ActivationFunction = _ActivationFunction; func = Activation.FunctionsLst[(int)ActivationFunction].Item1; dfunc = Activation.FunctionsLst[(int)ActivationFunction].Item2; NoInputs = _NoInputs; }
/// <summary> /// 判断是否又权限 /// </summary> /// <param name="user_permission"></param> /// <param name="permission"></param> /// <returns></returns> public static bool HasPermission(int user_permission, FunctionsEnum permission) { var per = (int)permission; return((user_permission & per) == per); }
/// <summary> /// 删除一个权限 /// </summary> /// <param name="UserPermission"></param> /// <param name="permission"></param> /// <returns></returns> public static int RemovePermission(int UserPermission, FunctionsEnum permission) { UserPermission &= ~(int)permission; return(UserPermission); }
/// <summary> /// 添加一个权限 /// </summary> /// <param name="UserPermission"></param> /// <param name="permission"></param> /// <returns></returns> public static int AddPermission(int UserPermission, FunctionsEnum permission) { UserPermission = UserPermission | (int)permission; return(UserPermission); }
/// <summary> /// Invocar métodos dos plugins seguros (SafePlugins) /// </summary> /// <param name="functionEnum">Quais métodos invocar</param> /// <param name="Arguments">Argumentos da função</param> public static void InvokeSafeFunction(FunctionsEnum functionEnum, params object[] Arguments) { if (!RegisterFunction.SafeFunctionsJS.ContainsKey(functionEnum)) return; List<Object> SafeFunctions = RegisterFunction.SafeFunctionsJS[functionEnum]; for (int i = 0; i < SafeFunctions.Count; i++) { try { dynamic Function = SafeFunctions[i]; Function( Arguments.Length > 0 ? Arguments[0] : null, Arguments.Length > 1 ? Arguments[1] : null, Arguments.Length > 2 ? Arguments[2] : null, Arguments.Length > 3 ? Arguments[3] : null, Arguments.Length > 4 ? Arguments[4] : null, Arguments.Length > 5 ? Arguments[5] : null, Arguments.Length > 6 ? Arguments[6] : null, Arguments.Length > 7 ? Arguments[7] : null, Arguments.Length > 8 ? Arguments[8] : null, Arguments.Length > 9 ? Arguments[9] : null ); } catch (Exception ex) { ConsoleConstants.WriteInConsole( "Erro ao carregar SafeFunction\nErro: " + ex.Message , System.Drawing.Color.DarkRed); } } }