// Domino Word Finder: Finder // function findChineseDominoWords(chineseLanguageLevel, findStrictlyDistinctWords, isEnabledDebugMode, wordDepth, isStrictSearch, isCircularWord, showPinyin, startDepth, searchDepth, pinyinFirstLetter, numLoopIter, tempWordArrayMaxSize, wordDelimiter) { // Domino Word Finder --- Find Chinese Domino-Words // note 1: to spare on computer resources, links at word depth 6 are selected at end of Phase 1 if and only if their count is greater than or equal to parameter 'linkCountMin' // note 2: 'linkCountMin' must be set by the developer in *this* function // note 3: set 'linkCountMin' manually such that the number of sets selected at end of Phase 1 doesn't exceed 200000 // note 4: needs Google Chrome running on a high-speed computer // // A- DECLARE VARIABLES // var i1; var i2; var i3; var i4; var i5; var i6; var l1; var l2; var l3; var l4; var l5; var lb1; var lb2; var lb3; var lb4; var lb5; var j1; var j2; var j3; var j4; var j5; var j6; var jb1; var jb2; var jb3; var jb4; var jb5; var jb6; var is1; var is2; var i; var j; var k; var l; var ib; var kb; var lb; var nw; var ibd; var ibn; var ibr; var ibs; var ibw; var nnw; var id; var ir; var wd; var wr; var newWord; var redWord; var shiftedWord; var word; var word1; var word2; var word3; var word4; var word5; var character; var character1; var character2; var character3; var character4; var character5; var character6; var w1; var w2; var w3; var w4; var w5; var w6; var pinyin; var computingTime; var setCount; var setCountMax; var maxSetCount; var numCharCheck; var linkCount; var linkCountMin; var linkCountMax; var redWordCountMax; var cond; var cond1; var cond2; var cond3; var isDuplicateWord; var isDuplicateCharacter; var isDuplicateCharacter2; var isDuplicateCharacter3; var linkWordArray; var maxLinkWordArray; var wordArray; var dominoWordArray; var redWordArray; var indexArray1; var indexArray2; var indexArray3; var indexArray4; // init arrays linkWordArray = [""]; maxLinkWordArray = [""]; wordArray = [""]; dominoWordArray = [""]; redWordArray = [""]; indexArray1 = [0]; indexArray2 = [0]; indexArray3 = [0]; indexArray4 = [0]; // // B- SET VARIABLES // // select 'linkCountMin' // unknown values are marked with '0' redWordCountMax = 2147483647; switch (wordDepth) { // wordDepth = 5 case 5: switch (searchDepth) { case 3: linkCountMin = 0; break; case 4: linkCountMin = 0; break; case 5: linkCountMin = 0; break; case 6: linkCountMin = 0; break; case 7: linkCountMin = 0; redWordCountMax = 4000; break; case 8: linkCountMin = 0; redWordCountMax = 4000; break; default: linkCountMin = 1; break; } break; // wordDepth = 6 case 6: switch (searchDepth) { case 3: linkCountMin = 0; break; case 4: linkCountMin = 0; break; case 5: linkCountMin = 0; break; case 6: linkCountMin = 0; redWordCountMax = 4000; break; case 7: linkCountMin = 28; redWordCountMax = 4000; break; case 8: linkCountMin = 32; redWordCountMax = 4000; break; default: linkCountMin = 1; break; } break; default: linkCountMin = 1; break; } // set variables ibr = 0; setCount = 0; numCharCheck = 0; linkCountMax = 0; setCountMax = 0; maxSetCount = 0; ib = DWF.wordArray.length; ibn = DWF.newWordArray.length; nw = Math.floor(ib / 3); if (ibn !== 1) { nnw = Math.floor(ibn / 3); } else { nnw = 0; } // // C- SET WINDOW // // open new window (only if it does not already exist) if (typeof dwfwordswindow == 'undefined' || dwfwordswindow.closed) { dwfwordswindow = window.open(); } // redirect document.write to new window var document = dwfwordswindow.document; // open and write to document document.open(); document.write(''); document.write('
'); document.write('