Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String[] implicants = new String [30];
- int implicantscounter =0 ;
- public void findimplicants(){
- for (int i=0 ; i< binary.length ; i++) {
- String temp = binary[i];
- Boolean found = false ;
- int maximum = -1;
- for(int j=0 ; j <evaluated.length ; j++) {
- if(match(evaluated[j],temp)){
- if(found== false){
- found = true ;
- maximum = dashes(evaluated[j]);
- addimplicants(evaluated[j]);
- }
- if(found== true && maximum == dashes(evaluated[j]) ){
- addimplicants(evaluated[j]);
- }
- }
- }
- }
- }
- public void addimplicants(String s1){
- Boolean found = false ;
- for(int i=0 ; i < implicantscounter ; i++){
- if(s1.equals(implicants[i])){
- found = true ;
- }
- }
- if(found==false){
- implicants[implicantscounter]= s1;
- implicantscounter ++;
- }
- }
- public int dashes(String s1 ){
- int counter=0 ;
- int length = s1.length();
- for(int i=0 ; i<length ; i++){
- if(s1.charAt(i) == '_'){
- counter++;
- }
- }
- return counter ;
- }
- int[] value = new int[binary.length];
- public void recursion(int index){
- if(index>= implicantscounter)
- {
- return;
- }
- ayesm(implicants[index],1);
- ayesm(implicants[index],-1);
- }
- public void checkdone(){
- for(int i=0 ; i <value.length ; i++){
- if(value[i]==0){
- return;
- }
- }
- }
- public void ayesm (String s1 , int val){
- for(int i =0 ; i <binary.length ; i++){
- if ( match(s1,binary[i])){
- value[i]+= val;
- }
- }
- }
- public boolean match(String s1 , String s2){
- int length = s1.length();
- for(int i=0 ; i<length ; i++){
- if(s1.charAt(i) == '_'){
- continue;
- }
- if(s1.charAt(i) != s2.charAt(i))
- {
- return false ;
- }
- }
- return true ;
- }
- public void printevaluated(){
- for(int i =0 ; i < size ; i++ ){
- System.out.println(evaluated[i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement