亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpncontext.java

?? Rakiura JFern是一個非常輕型的帶有模擬器的Petri網絡框架
?? JAVA
字號:
// This is copyrighted source file, part of Rakiura JFern package. // See the file LICENSE for copyright information and the terms and conditions// for copying, distributing and modifications of Rakiura JFern package.// Copyright (C) 1999-2002 by Mariusz Nowostawski and others  [http://www.rakiura.org]package org.rakiura.cpn;/**/import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;/** * Represents a CPN context. * Implements a basic context for inscription evaluations. * Current context can be accessed from  any CPN net element,  * and provide basic mechanism for obtaining token references,  * manipulating tokens in expressions and guards, unification  * mechanism, and variable handling. *  *<br><br> * CpnContext.java<br> * Created: Fri Apr 19 11:23:01 2002<br> * *@author  <a href="mariusz@rakiura.org">Mariusz Nowostawski</a> *@version 2.1.0 $Revision: 1.11 $ *@since 2.0 */public class CpnContext implements Context {  /** Parent context. */  private CpnContext parent = null;  /**/  private Multiset multiset;   /** Set of all declared variables. */  private Set variables = new HashSet();  /**   * Mapping between variable name and its values.   */  private Map varPool = null;    /**   */  private int anonymousVariables = 0;  /**   * Stores the mapping for this context. Used by transtion firing   * machinery.   */  private Map binding;  /**   * Creates an empty top level context.   */  public CpnContext() {    this.varPool = new HashMap();  }  public CpnContext(final CpnContext aParent) {    this.parent = aParent;  }    public Multiset getMultiset() {    return this.multiset;  }  /**   * Sets the input multiset to the given value. This method also resets   * the local variables pool for this context, so it can be reused as    * "fresh".   *@param aMultiset a multiset.   */  public void setMultiset(final Multiset aMultiset) {    this.multiset = aMultiset;    this.anonymousVariables = 0;  }  public void var(final String aVariable) {    if (this.parent != null) {      this.parent.var(aVariable);    }     this.variables.add(aVariable);  }  public void var(final int aNumber) {    this.anonymousVariables += aNumber;  }    /**   * Returns all declared variables in this context.   *@return variables declared in this context   */  public Set variables() {    return this.variables;  }  public Object get(final String aVariable) {    if (this.parent != null) {      return this.parent.get(aVariable);    }    return this.varPool.get(aVariable);  }    /**   * Returns the varPool of this context.   *@return the variables pool map.   */  public Map getVarPool() {    return this.varPool;  }  public List getPossibleBindings() {    final Object[] values = this.getMultiset().toArray();    final String[] variables = (String[]) this.variables.toArray(new String[this.variables.size()]);    if (values.length == 0         || (variables.length == 0 && this.anonymousVariables == 0)        || (values.length < variables.length + this.anonymousVariables)) {      return new ArrayList();    }    if (variables.length == 0) {      final Map m = new HashMap();      final List pr = new ArrayList(this.multiset.getAny(this.anonymousVariables));      for (int i = 0; i < this.anonymousVariables; i++) {        m.put("__anonVar_" + getUniqueString(), pr.get(i));      }      final List result = new ArrayList();      result.add(m);      return result;    }    final List result = new ArrayList();    final List list = new ArrayList();    kpermutations(variables, values, this.anonymousVariables, list);    return list;  }  public void setBinding(Map aBinding) {    this.binding = aBinding;  }  public Map getBinding() {    return this.binding;  }  private static long COUNTER = 0;  /**   * Generates a new unique identifier. */  private final static String getUniqueString() {    return "" + System.currentTimeMillis() + COUNTER++;  }  /**   * The implementation to calculate kpermutations is based on   * final static private methods for better performance.   */  private static final void kpermutations(final String[] variables, final Object[] values,                                            final int anonymousVariables,                                           final List result) {    permutation(combination(values.length, variables.length),                variables,                values,                 anonymousVariables,                result);  }  /**   * Calculates a factorial of given integer.   */  private static final long factorial(long from, long to) {    if (from == to) return to;    return (from * factorial(from-1, to));  }  /**   * Private  function used for generating combination states.   */  private static final void check_state(int[] state, int max) {    int imax = max, isize = state.length-1;    while (isize > 0) {      if(state[isize] == imax) {        state[isize-1]++;        int i = isize;        while (i < state.length) {          state[i] = state[i-1]+1;          i++;        }      }      imax--;      isize--;    }  }  /**   * Function generating all possible combinations with permutations   * from a sequence of numbers 0..(size-1)   * input   *   size - int max value, number of elements   *   howmany elements we are selecting   * output   *   return - an array with all possible combinations without repeating   *                  result_array[result_size][howmany]   */  private static final int[][] combination(int size, int howmany) {    final long long_result_size = factorial(size, size - howmany + 1) / factorial(howmany, 1);    final int result_size = (int) long_result_size;    if (long_result_size != result_size) throw new RuntimeException("Limit of combinations too big to fit into memory");    final int[][] result = new int[result_size][howmany];    int[] current_state = new int[howmany];        for(int i = 0; i < howmany; i++) {      current_state[i] = i;    }        for(int i1 = 0; i1 < result_size; i1++) {      for(int i2 = 0; i2 < howmany; i2++) {        result[i1][i2] = current_state[i2];      }      current_state[howmany-1]++;      check_state(current_state, size);    }        return result;  }  private static final void permutation(final int[][] s,                                        final String[] variables, final Object[] values,  final int anonymousVariables,                                         final List result) {    for (int i = 0; i < s.length; i++) {      rpermute(s[i], 0, variables, values, anonymousVariables, result);    }  }  private static final void rpermute(final int[] c, final int k,                                      final String[] variables, final Object[] values, final int anonymousVariables, final List result) {    if (k == c.length - 1) {      final Map m = new HashMap();      for (int i = 0; i < c.length; i++) {        m.put(variables[i], values[c[i]]);      }      if (anonymousVariables > 0) {        List pr = java.util.Arrays.asList(values);        pr.retainAll(m.values());        for (int i = 0; i < anonymousVariables; i++) {          m.put("__anonVar_" + i, pr.get(i));        }      }      result.add(m);    } else {      int temp;      for (int i = k; i < c.length; i++) {        temp = c [i];        c [i] = c [k];        c [k] = temp;        rpermute((int[]) c.clone(), k + 1, variables, values, anonymousVariables, result);      } // for    } // else  }   /** Test. */  public static void main(String[] args) {    System.out.println("Test for variables: X,Y and values 1,2,3");    String[] variables1 = new String[] { "X", "Y" };    Object[] values1 = new String[] { "1", "2", "3" };    List list1 = new ArrayList();    kpermutations(variables1, values1, 0, list1);    System.out.println(list1 + "\n\n");    list1.clear();    System.out.println("Test for variables: X,Y,Z and values 1,2,3,4,5");    String[] variables = new String[] { "X", "Y", "Z" };    Object[] values = new String[] { "1", "2", "3", "4", "5" };    kpermutations(variables, values, 0, list1);    System.out.println(list1 + "\n\n");    for (int i = 0; i < list1.size(); i++) {      Map m = (Map) list1.get(i);      System.out.println("" + m.get("X") + m.get("Y") + m.get("Z"));    }  }} // CpnContext//////////////////// end of file ////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av集中营| 91麻豆国产福利精品| 天堂va蜜桃一区二区三区| 亚洲婷婷在线视频| 亚洲女厕所小便bbb| 亚洲专区一二三| 日产国产高清一区二区三区 | 久久黄色级2电影| 视频在线观看91| 久久爱www久久做| 成人妖精视频yjsp地址| 99精品黄色片免费大全| 欧美日韩国产美女| 日韩一区二区三区视频在线观看| 日韩精品中文字幕在线不卡尤物 | 国内精品在线播放| 粉嫩在线一区二区三区视频| www.欧美.com| 欧洲在线/亚洲| 欧美电影免费观看完整版| 日本一区二区三区国色天香| 亚洲欧洲国产日本综合| 亚洲aⅴ怡春院| 国产一区二区三区在线观看免费| 国产成人免费高清| 欧美性受xxxx| 国产日韩欧美不卡在线| 亚洲国产乱码最新视频| 精品一区二区三区在线观看| 99久久免费视频.com| 欧美猛男超大videosgay| 日本一区二区三区免费乱视频| 亚洲免费色视频| 另类小说图片综合网| 99久久国产综合精品色伊| 宅男在线国产精品| 国产精品毛片久久久久久久| 日韩精品久久理论片| 波多野结衣一区二区三区| 欧美一区二区免费视频| 亚洲人成小说网站色在线 | 精品福利av导航| 亚洲五码中文字幕| 国产成人自拍在线| 日韩午夜av一区| 亚洲男人的天堂在线aⅴ视频| 精品综合免费视频观看| 欧美精品一二三四| 国产精品国产三级国产普通话蜜臀 | 国产精品视频在线看| 美女视频黄免费的久久 | 日产精品久久久久久久性色| av男人天堂一区| 久久久噜噜噜久噜久久综合| 日韩黄色免费电影| 在线观看视频一区二区| 亚洲女同一区二区| 成人av资源在线| 日本一区二区三区久久久久久久久不 | 最新中文字幕一区二区三区 | 久久精品国产99国产| 欧美日韩一区不卡| 亚洲欧美偷拍三级| 成人黄色软件下载| 国产精品免费视频网站| 国产成人一区在线| 久久久www免费人成精品| 久久精品国内一区二区三区| 日韩精品专区在线影院观看| 久久精品国产99| 精品国产百合女同互慰| 国产精品91一区二区| 亚洲免费色视频| 成人午夜激情视频| 精品国产乱码久久久久久1区2区| 日本中文在线一区| 日韩一区二区麻豆国产| 水蜜桃久久夜色精品一区的特点| 欧美日韩国产综合草草| 亚洲高清不卡在线观看| 欧美一区二区三区免费在线看| 欧美96一区二区免费视频| 日韩色在线观看| 九色porny丨国产精品| 日韩视频免费观看高清在线视频| 肉色丝袜一区二区| 欧美成人精品福利| 国产一区91精品张津瑜| 国产精品人人做人人爽人人添 | 精品福利视频一区二区三区| 久久疯狂做爰流白浆xx| 国产免费久久精品| 成人免费观看av| 午夜激情一区二区三区| 日韩一区二区免费在线观看| 国产精品中文字幕一区二区三区| 中文字幕二三区不卡| 在线观看日韩一区| 久色婷婷小香蕉久久| 国产精品免费视频网站| 欧美日韩国产一区| 国产一区亚洲一区| 国产精品第四页| 欧美一级日韩免费不卡| 懂色av中文字幕一区二区三区| 亚洲欧美色综合| 精品国产免费一区二区三区香蕉| 成人免费看视频| 日产国产高清一区二区三区 | 色噜噜狠狠色综合中国| 午夜日韩在线观看| 欧美国产精品一区二区| 色婷婷综合激情| 精品一区二区免费视频| 一区二区三区日本| 精品国产91亚洲一区二区三区婷婷| 99这里只有精品| 久久99精品久久只有精品| 亚洲女性喷水在线观看一区| 精品国产免费人成电影在线观看四季 | 93久久精品日日躁夜夜躁欧美| 亚洲一区二区精品视频| 国产精品女主播av| 欧美电影免费观看高清完整版在线 | 亚洲人午夜精品天堂一二香蕉| 日韩一级黄色大片| 色婷婷av一区二区三区软件| 高清国产一区二区三区| 免费成人在线观看视频| 亚洲国产裸拍裸体视频在线观看乱了| 中文字幕不卡的av| 日韩区在线观看| 欧美日韩国产高清一区二区| 色狠狠色噜噜噜综合网| 成人avav影音| 成人三级在线视频| 国产伦精一区二区三区| 国产在线观看一区二区| 精品一区二区三区免费观看| 亚洲图片欧美视频| 亚洲精品成a人| 亚洲欧美另类图片小说| 亚洲国产成人午夜在线一区| 久久久精品国产免费观看同学| 日韩欧美美女一区二区三区| 538在线一区二区精品国产| 色拍拍在线精品视频8848| caoporm超碰国产精品| 国产98色在线|日韩| 国产一区不卡在线| 国产精品18久久久久久vr| 国产美女视频91| 成人综合日日夜夜| av中文字幕在线不卡| 成人精品视频一区二区三区尤物| 国产91丝袜在线观看| 粉嫩一区二区三区在线看| 成人免费看视频| 色综合咪咪久久| 欧美理论在线播放| 日韩欧美三级在线| 国产视频一区二区在线| 国产精品美女久久久久久2018| 国产精品免费aⅴ片在线观看| 国产精品白丝在线| 亚洲一区二区高清| 免费日韩伦理电影| 粉嫩欧美一区二区三区高清影视| 99精品国产一区二区三区不卡| 一本大道av一区二区在线播放| 国产亚洲人成网站| 亚洲国产精品99久久久久久久久| 中文字幕一区日韩精品欧美| 亚洲国产精品嫩草影院| 毛片一区二区三区| 成人精品在线视频观看| 欧美视频在线观看一区二区| 精品国产精品网麻豆系列| 综合亚洲深深色噜噜狠狠网站| 午夜视黄欧洲亚洲| 国产精品资源在线| 欧美性三三影院| 亚洲精品在线观| 一区二区三区中文字幕电影| 久久精品国产亚洲一区二区三区| 成a人片国产精品| 欧美绝品在线观看成人午夜影视| 久久影院电视剧免费观看| 国产精品久久夜| 日韩电影在线一区二区| 国产成人自拍在线| 欧美精品在线一区二区三区| 国产欧美综合在线| 天堂一区二区在线免费观看| 国产精品一区二区在线观看不卡 | 日韩一区二区三区四区| 中文字幕av一区 二区| 午夜欧美电影在线观看| 成人激情小说乱人伦| 欧美sm极限捆绑bd|