Esempio n. 1
0
        public void ConstructorPolicyCanUseLookupToFindAnObject()
        {
            MockBuilderContext ctx = new MockBuilderContext();
            ctx.InnerLocator.Add("foo", 11);

            LookupParameter param = new LookupParameter("foo");

            Assert.AreEqual(11, param.GetValue(ctx));
            Assert.AreSame(typeof (int), param.GetParameterType(ctx));
        }
Esempio n. 2
0
 public RNNLanguageModel(RNNBuilder builder, ParameterCollection model, Dictionary <string, int> vocab, int INPUT_DIM, int HIDDEN_DIM, float dropout)
 {
     this.builder = builder;
     this.dropout = dropout;
     this.d       = vocab;
     this.di2W    = d.ToDictionary(kvp => kvp.Value, kvp => kvp.Key);
     lp           = model.AddLookupParameters(vocab.Count, new[] { INPUT_DIM });
     p_R          = model.AddParameters(new[] { vocab.Count, HIDDEN_DIM });
     p_bias       = model.AddParameters(new[] { vocab.Count });
 }
        public void ConstructorPolicyCanUseLookupToFindAnObject()
        {
            MockBuilderContext ctx = new MockBuilderContext();

            ctx.Locator.Add("foo", 11);

            LookupParameter param = new LookupParameter("foo");

            Assert.AreEqual <object>(11, param.GetValue(ctx));
            Assert.AreSame(typeof(int), param.GetParameterType(ctx));
        }
 private void AfterDeserialization()
 {
     // BackwardsCompatibility3.3
     #region Backwards compatible code (remove with 3.4)
     LookupParameter <DoubleMatrix> oldDistanceMatrixParameter = Parameters["DistanceMatrix"] as LookupParameter <DoubleMatrix>;
     if (oldDistanceMatrixParameter != null)
     {
         Parameters.Remove(oldDistanceMatrixParameter);
         Parameters.Add(new LookupParameter <DistanceMatrix>("DistanceMatrix", "The matrix which contains the distances between the cities."));
         DistanceMatrixParameter.ActualName = oldDistanceMatrixParameter.ActualName;
     }
     #endregion
 }
        private void UpdateMoveEvaluation()
        {
            IVRPEvaluator            evaluator       = ProblemInstance.SolutionEvaluator;
            ICollection <IParameter> addedParameters = new List <IParameter>();

            try {
                foreach (IParameter parameter in evaluator.Parameters)
                {
                    if (parameter is ILookupParameter &&
                        parameter != evaluator.VRPToursParameter &&
                        parameter != evaluator.ProblemInstanceParameter)
                    {
                        ILookupParameter evaluatorParameter = parameter as ILookupParameter;

                        string resultName = evaluatorParameter.ActualName;
                        if (!this.Parameters.ContainsKey(resultName))
                        {
                            ILookupParameter resultParameter = new LookupParameter <IItem>(resultName);
                            resultParameter.ExecutionContext = ExecutionContext;
                            this.Parameters.Add(resultParameter);
                            addedParameters.Add(resultParameter);
                        }

                        string moveResultName = VRPMoveEvaluator.MovePrefix + resultName;
                        if (!this.Parameters.ContainsKey(moveResultName))
                        {
                            ILookupParameter moveResultParameter = new LookupParameter <IItem>(moveResultName);
                            moveResultParameter.ExecutionContext = ExecutionContext;
                            this.Parameters.Add(moveResultParameter);
                            addedParameters.Add(moveResultParameter);
                        }

                        ILookupParameter result     = Parameters[resultName] as ILookupParameter;
                        ILookupParameter moveResult = Parameters[moveResultName] as ILookupParameter;
                        result.ActualValue = moveResult.ActualValue;
                    }
                }
            } finally {
                foreach (IParameter parameter in addedParameters)
                {
                    this.Parameters.Remove(parameter);
                }
            }
        }
Esempio n. 6
0
    private void UpdateMoveEvaluation() {
      IVRPEvaluator evaluator = ProblemInstance.SolutionEvaluator;
      ICollection<IParameter> addedParameters = new List<IParameter>();

      try {
        foreach (IParameter parameter in evaluator.Parameters) {
          if (parameter is ILookupParameter
            && parameter != evaluator.VRPToursParameter
            && parameter != evaluator.ProblemInstanceParameter) {
            ILookupParameter evaluatorParameter = parameter as ILookupParameter;

            string resultName = evaluatorParameter.ActualName;
            if (!this.Parameters.ContainsKey(resultName)) {
              ILookupParameter resultParameter = new LookupParameter<IItem>(resultName);
              resultParameter.ExecutionContext = ExecutionContext;
              this.Parameters.Add(resultParameter);
              addedParameters.Add(resultParameter);
            }

            string moveResultName = VRPMoveEvaluator.MovePrefix + resultName;
            if (!this.Parameters.ContainsKey(moveResultName)) {
              ILookupParameter moveResultParameter = new LookupParameter<IItem>(moveResultName);
              moveResultParameter.ExecutionContext = ExecutionContext;
              this.Parameters.Add(moveResultParameter);
              addedParameters.Add(moveResultParameter);
            }

            ILookupParameter result = Parameters[resultName] as ILookupParameter;
            ILookupParameter moveResult = Parameters[moveResultName] as ILookupParameter;
            result.ActualValue = moveResult.ActualValue;
          }
        }
      } finally {
        foreach (IParameter parameter in addedParameters) {
          this.Parameters.Remove(parameter);
        }
      }
    }
Esempio n. 7
0
        /// <summary>
        /// Determines the parameter type of the lookup expression
        /// The activities support all standard parameters: [//Target/...], [//Requestor/...], etc.
        /// as well as enhanced support for the [//Delta/...] and [//Request/...]
        /// New parameters are also supported: [//Queries/...], [//ComparedRequest/...], [//Approvers/...], and [//Effective/...]
        /// </summary>
        /// <param name="lookup">The lookup expression.</param>
        /// <returns>The LookupParameter</returns>
        public static LookupParameter DetermineLookupParameter(string lookup)
        {
            Logger.Instance.WriteMethodEntry(EventIdentifier.LookupEvaluatorDetermineLookupParameter, "Lookup: '{0}'.", lookup);

            LookupParameter lookupParameter = LookupParameter.Unknown;

            try
            {
                if (string.IsNullOrEmpty(lookup))
                {
                    return(lookupParameter);
                }

                string component = lookup.Substring(3, lookup.Length - 4).Split(new char[] { '/' })[0];
                switch (component.ToUpperInvariant())
                {
                case "REQUEST":
                    lookupParameter = LookupParameter.Request;
                    break;

                case "REQUESTOR":
                    lookupParameter = LookupParameter.Requestor;
                    break;

                case "WORKFLOWDATA":
                    lookupParameter = LookupParameter.WorkflowData;
                    break;

                case "TARGET":
                    lookupParameter = LookupParameter.Target;
                    break;

                case "DELTA":
                    lookupParameter = LookupParameter.Delta;
                    break;

                case "REQUESTPARAMETER":
                    lookupParameter = LookupParameter.RequestParameter;
                    break;

                case "QUERIES":
                    lookupParameter = LookupParameter.Queries;
                    break;

                case "COMPAREDREQUEST":
                    lookupParameter = LookupParameter.ComparedRequest;
                    break;

                case "APPROVERS":
                    lookupParameter = LookupParameter.Approvers;
                    break;

                case "EFFECTIVE":
                    lookupParameter = LookupParameter.Effective;
                    break;

                case "VALUE":
                    lookupParameter = LookupParameter.Value;
                    break;

                default:
                    throw Logger.Instance.ReportError(EventIdentifier.LookupEvaluatorDetermineLookupParameterError, new NotSupportedLookupParameterException(Messages.ExpressionEvaluator_LookupParameterValidationError, lookup));
                }
            }
            finally
            {
                Logger.Instance.WriteMethodExit(EventIdentifier.LookupEvaluatorDetermineLookupParameter, "Lookup: '{0}'. LookupParameter: '{1}'.", lookup, lookupParameter);
            }

            return(lookupParameter);
        }