本文整理了Java中net.automatalib.words.Word.getSymbol()
方法的一些代码示例,展示了Word.getSymbol()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Word.getSymbol()
方法的具体详情如下:
包路径:net.automatalib.words.Word
类名称:Word
方法名:getSymbol
[英]Return symbol that is at the specified position.
[中]返回位于指定位置的符号。
代码示例来源:origin: net.automatalib/automata-api
@Override
public void writeToArray(int offset, Object[] array, int tgtOffset, int length) {
int idx = offset, arrayIdx = tgtOffset;
for (int i = length; i > 0; i--) {
array[arrayIdx++] = getSymbol(idx++);
}
}
代码示例来源:origin: LearnLib/automatalib
@Override
public void writeToArray(int offset, Object[] array, int tgtOffset, int length) {
int idx = offset, arrayIdx = tgtOffset;
for (int i = length; i > 0; i--) {
array[arrayIdx++] = getSymbol(idx++);
}
}
代码示例来源:origin: net.automatalib/automata-api
/**
* Retrieves the first symbol of this word.
*
* @return the first symbol of this word
*/
@Nullable
public I firstSymbol() {
return getSymbol(0);
}
代码示例来源:origin: LearnLib/automatalib
/**
* Retrieves the first symbol of this word.
*
* @return the first symbol of this word
*/
@Nullable
public I firstSymbol() {
return getSymbol(0);
}
代码示例来源:origin: LearnLib/automatalib
/**
* Retrieves the last symbol of this word.
*
* @return the last symbol of this word.
*/
@Nullable
public I lastSymbol() {
return getSymbol(length() - 1);
}
代码示例来源:origin: net.automatalib/automata-api
/**
* Retrieves the last symbol of this word.
*
* @return the last symbol of this word.
*/
@Nullable
public I lastSymbol() {
return getSymbol(length() - 1);
}
代码示例来源:origin: net.automatalib/automata-core
@Override
public I getSymbol(int index) {
if (index == word.length()) {
return letter;
}
return word.getSymbol(index);
}
代码示例来源:origin: LearnLib/automatalib
@Nullable
@Override
public O getTransitionOutput(Integer transition) {
return getOutput().getSymbol(transition);
}
代码示例来源:origin: de.learnlib/learnlib-core
public static <O> int findMismatch(Word<O> out1, Word<O> out2) {
int len = out1.length();
assert len == out2.length();
for(int i = 0; i < len; i++) {
O sym1 = out1.getSymbol(i);
O sym2 = out2.getSymbol(i);
if(!Objects.equals(sym1, sym2))
return i;
}
return NO_MISMATCH;
}
代码示例来源:origin: de.learnlib/learnlib-util
public static <O> int findMismatch(Word<O> out1, Word<O> out2) {
int len = out1.length();
assert len == out2.length();
for (int i = 0; i < len; i++) {
O sym1 = out1.getSymbol(i);
O sym2 = out2.getSymbol(i);
if (!Objects.equals(sym1, sym2)) {
return i;
}
}
return NO_MISMATCH;
}
代码示例来源:origin: net.automatalib/automata-api
@Override
public boolean isPrefixOf(Word<?> other) {
return !other.isEmpty() && Objects.equals(letter, other.getSymbol(0));
}
代码示例来源:origin: LearnLib/automatalib
@Override
public boolean isPrefixOf(Word<?> other) {
return !other.isEmpty() && Objects.equals(letter, other.getSymbol(0));
}
代码示例来源:origin: LearnLib/automatalib
/**
* Get the successor state of a given state, or {@code null} when no such successor exists.
*
* @see SimpleDTS#getSuccessor(Object, Object)
*/
@Nullable
@Override
public Integer getSuccessor(Integer state, @Nullable I input) {
final Integer result;
if (state < word.length() && input.equals(word.getSymbol(state))) {
result = state + 1;
} else {
result = null;
}
return result;
}
代码示例来源:origin: de.learnlib/learnlib-dhc
private void scheduleSuccessors(QueueElement<I, O> elem,
Integer state,
Queue<QueueElement<I, O>> queue,
List<Word<O>> sig) throws IllegalArgumentException {
for (int i = 0; i < alphabet.size(); ++i) {
// retrieve I/O for transition
I input = alphabet.getSymbol(i);
O output = sig.get(i).getSymbol(0);
// create successor element and schedule for exploration
queue.add(new QueueElement<>(state, elem, input, output));
}
}
代码示例来源:origin: net.automatalib/automata-core
@Override
public boolean isPrefixOf(Word<?> other) {
int wordLen = word.length();
if (wordLen >= other.length()) {
return false;
}
if (!word.isPrefixOf(other)) {
return false;
}
return Objects.equals(other.getSymbol(wordLen), letter);
}
代码示例来源:origin: net.automatalib/automata-incremental
private State createSuffix(Word<? extends I> suffix, Word<? extends O> suffixOut) {
StateSignature sig = new StateSignature(alphabetSize);
sig.updateHashCode();
State last = replaceOrRegister(sig);
int len = suffix.length();
for (int i = len - 1; i >= 0; i--) {
sig = new StateSignature(alphabetSize);
I sym = suffix.getSymbol(i);
O outsym = suffixOut.getSymbol(i);
int idx = inputAlphabet.getSymbolIndex(sym);
sig.successors[idx] = last;
sig.outputs[idx] = outsym;
sig.updateHashCode();
last = replaceOrRegister(sig);
}
return last;
}
代码示例来源:origin: LearnLib/automatalib
private State<O> createSuffix(Word<? extends I> suffix, Word<? extends O> suffixOut) {
StateSignature<O> sig = new StateSignature<>(alphabetSize);
sig.updateHashCode();
State<O> last = replaceOrRegister(sig);
int len = suffix.length();
for (int i = len - 1; i >= 0; i--) {
sig = new StateSignature<>(alphabetSize);
I sym = suffix.getSymbol(i);
O outsym = suffixOut.getSymbol(i);
int idx = inputAlphabet.getSymbolIndex(sym);
sig.successors.array[idx] = last;
sig.outputs.array[idx] = outsym;
sig.updateHashCode();
last = replaceOrRegister(sig);
}
return last;
}
代码示例来源:origin: de.learnlib/learnlib-util
@Nullable
public static <I, O> DefaultQuery<I, O> reduceCounterExample(MealyMachine<?, I, ?, O> hypothesis,
DefaultQuery<I, Word<O>> ceQuery) {
Word<I> cePrefix = ceQuery.getPrefix(), ceSuffix = ceQuery.getSuffix();
Word<O> hypOut = hypothesis.computeSuffixOutput(cePrefix, ceSuffix);
Word<O> ceOut = ceQuery.getOutput();
assert ceOut.length() == hypOut.length();
int mismatchIdx = findMismatch(hypOut, ceOut);
if (mismatchIdx == NO_MISMATCH) {
return null;
}
return new DefaultQuery<>(cePrefix, ceSuffix.prefix(mismatchIdx + 1), ceOut.getSymbol(mismatchIdx));
}
代码示例来源:origin: de.learnlib/learnlib-core
@Nullable
public static <I,O> DefaultQuery<I,O> reduceCounterExample(
MealyMachine<?,I,?,O> hypothesis,
DefaultQuery<I,Word<O>> ceQuery) {
Word<I> cePrefix = ceQuery.getPrefix(), ceSuffix = ceQuery.getSuffix();
Word<O> hypOut = hypothesis.computeSuffixOutput(cePrefix, ceSuffix);
Word<O> ceOut = ceQuery.getOutput();
assert ceOut.length() == hypOut.length();
int mismatchIdx = findMismatch(hypOut, ceOut);
if(mismatchIdx == NO_MISMATCH)
return null;
return new DefaultQuery<>(cePrefix,
ceSuffix.prefix(mismatchIdx + 1),
ceOut.getSymbol(mismatchIdx));
}
代码示例来源:origin: de.learnlib/learnlib-ttt
private void splitState(OutputInconsistency<I, D> outIncons) {
OutInconsPrefixTransformAcex<I, D> acex = deriveAcex(outIncons);
try {
int breakpoint = analyzer.analyzeAbstractCounterexample(acex);
assert !acex.testEffects(breakpoint, breakpoint + 1);
Word<I> suffix = outIncons.suffix;
TTTState<I, D> predState = getDeterministicState(outIncons.srcState, suffix.prefix(breakpoint));
TTTState<I, D> succState = getDeterministicState(outIncons.srcState, suffix.prefix(breakpoint + 1));
assert getDeterministicState(predState, Word.fromLetter(suffix.getSymbol(breakpoint))) == succState;
I sym = suffix.getSymbol(breakpoint);
Word<I> splitSuffix = suffix.subWord(breakpoint + 1);
TTTTransition<I, D> trans = predState.getTransition(alphabet.getSymbolIndex(sym));
assert !trans.isTree();
D oldOut = acex.effect(breakpoint + 1);
D newOut = succEffect(acex.effect(breakpoint));
splitState(trans, splitSuffix, oldOut, newOut);
} catch (HypothesisChangedException ignored) {
}
}
内容来源于网络,如有侵权,请联系作者删除!