Ejemplo n.º 1
0
        /// <summary>
        /// Creates a transducer <c>T(a, b) = I[a[i] is in X for all i] I[b[j] is in Y for all j]</c>, where <c>X</c> and <c>Y</c>
        /// are the supports of given element distributions.
        /// </summary>
        /// <param name="allowedSrcElements">Specifies the elements allowed in the first transducer argument.</param>
        /// <param name="allowedDestElements">Specifies the elements allowed in the second transducer argument.</param>
        /// <returns>The created transducer.</returns>
        public static TThis Replace(TSrcElementDistribution allowedSrcElements, TDestElementDistribution allowedDestElements)
        {
            Argument.CheckIfNotNull(allowedSrcElements, "allowedSrcElements");
            Argument.CheckIfNotNull(allowedDestElements, "allowedDestElements");

            return(Replace(
                       Automaton <TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton> .Constant(1.0, allowedSrcElements),
                       Automaton <TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton> .Constant(1.0, allowedDestElements)));
        }