[Qca-commits] r66 - in pkg: . R inst inst/gui/www/js inst/staticdocs man src

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun Jan 20 16:01:42 CET 2019


Author: dusadrian
Date: 2019-01-20 16:01:41 +0100 (Sun, 20 Jan 2019)
New Revision: 66

Added:
   pkg/R/simplify.R
Modified:
   pkg/DESCRIPTION
   pkg/R/minimize.R
   pkg/R/solveChart.R
   pkg/inst/ChangeLog
   pkg/inst/gui/www/js/maincode.js
   pkg/inst/staticdocs/CV.html
   pkg/inst/staticdocs/LegacyDatasets.html
   pkg/inst/staticdocs/Lipset.html
   pkg/inst/staticdocs/QCA.package.html
   pkg/inst/staticdocs/RS.html
   pkg/inst/staticdocs/SOPexpression.html
   pkg/inst/staticdocs/XYplot.html
   pkg/inst/staticdocs/Xplot.html
   pkg/inst/staticdocs/calibrate.html
   pkg/inst/staticdocs/causalChain.html
   pkg/inst/staticdocs/chartFunctions.html
   pkg/inst/staticdocs/export.html
   pkg/inst/staticdocs/factorize.html
   pkg/inst/staticdocs/findRows.html
   pkg/inst/staticdocs/findTh.html
   pkg/inst/staticdocs/fuzzyops.html
   pkg/inst/staticdocs/implicantMatrixFunctions.html
   pkg/inst/staticdocs/index.html
   pkg/inst/staticdocs/intersection.html
   pkg/inst/staticdocs/minimize.html
   pkg/inst/staticdocs/modelFit.html
   pkg/inst/staticdocs/negate.html
   pkg/inst/staticdocs/pof.html
   pkg/inst/staticdocs/recode.html
   pkg/inst/staticdocs/retention.html
   pkg/inst/staticdocs/runGUI.html
   pkg/inst/staticdocs/subsetsAndSupersets.html
   pkg/inst/staticdocs/truthTable.html
   pkg/man/QCA.package.Rd
   pkg/src/QCA.c
Log:
version 3.4-1

Modified: pkg/DESCRIPTION
===================================================================
--- pkg/DESCRIPTION	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/DESCRIPTION	2019-01-20 15:01:41 UTC (rev 66)
@@ -1,6 +1,6 @@
 Package: QCA
-Version: 3.4
-Date: 2019-01-18
+Version: 3.4-1
+Date: 2019-01-20
 Title: Qualitative Comparative Analysis
 Authors at R: c(person("Adrian", "Dusa", role = c("aut", "cre", "cph"),
                     email = "dusa.adrian at unibuc.ro"),
@@ -28,7 +28,7 @@
              minimal causal combination that explains a given phenomenon.
 License: GPL (>= 2)
 NeedsCompilation: yes
-Packaged: 2019-01-18 08:14:27 UTC; dusadrian
+Packaged: 2019-01-20 14:59:02 UTC; dusadrian
 Author: Adrian Dusa [aut, cre, cph],
   jQuery Foundation [cph] (jQuery library and jQuery UI library),
   jQuery contributors [ctb, cph] (jQuery library; authors listed in

Modified: pkg/R/minimize.R
===================================================================
--- pkg/R/minimize.R	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/R/minimize.R	2019-01-20 15:01:41 UTC (rev 66)
@@ -316,6 +316,10 @@
                             min.pin = min.pin, row.dom = row.dom, all.sol = all.sol, sol.cons = sol.cons,
                             sol.cov = sol.cov, data = extended.data, fs = tt$fs),
                             PACKAGE = "QCA")
+            if (is.null(expressions)) {
+                cat(enter)
+                stop(simpleError(paste0("The PI chart is too complex for an exact solution.", enter, enter)))
+            }
         }
         p.sol <- getSolution(expressions=expressions, mv=mv, use.tilde=use.tilde, collapse=collapse, inputt=inputt, row.dom=row.dom, initial=rownms, all.sol=all.sol, indata=indata, excl.matrix=excl.matrix, ...=...)
     }

Added: pkg/R/simplify.R
===================================================================
--- pkg/R/simplify.R	                        (rev 0)
+++ pkg/R/simplify.R	2019-01-20 15:01:41 UTC (rev 66)
@@ -0,0 +1,261 @@
+# Copyright (c) 2019, Adrian Dusa
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, in whole or in part, are permitted provided that the
+# following conditions are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#     * The names of its contributors may NOT be used to endorse or promote products
+#       derived from this software without specific prior written permission.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL ADRIAN DUSA BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+`simplify` <- function(expression, snames = "", noflevels, use.tilde = FALSE) {
+    syscalls <- unlist(lapply(sys.calls(), deparse))
+    if (any(withdata <- grepl("with\\(", syscalls))) {
+        snames <- get(unlist(strsplit(gsub("with\\(", "", syscalls), split = ","))[1], envir = length(syscalls) - which(withdata))
+    }
+    snames <- splitstr(snames)
+    multivalue <- any(grepl("[{|}]", expression))
+    if (multivalue) {
+        expression <- toupper(gsub("[*]", "", expression))
+        verify.multivalue(expression, snames = snames, noflevels = noflevels) 
+    }
+    sl <- ifelse(identical(snames, ""), FALSE, ifelse(all(nchar(snames) == 1), TRUE, FALSE))
+    if (!grepl("[+]", expression) & grepl("[,]", expression)) {
+        if (multivalue) {
+            values <- curlyBrackets(expression)
+            atvalues <- paste("@", seq(length(values)), sep = "")
+            for (i in seq(length(values))) {
+                expression <- gsub(values[i], atvalues[i], expression)
+            }
+            expression <- gsub(",", "+", expression)
+            for (i in seq(length(values))) {
+                expression <- gsub(atvalues[i], values[i], expression)
+            }
+        }
+        else {
+            oldway <- unlist(strsplit(gsub("[-|;|,|[:space:]]", "", expression), split = ""))
+            if (!possibleNumeric(oldway) & length(oldway) > 0) {
+                expression <- gsub(",", "+", expression)
+            }
+        }
+    }
+    getbl <- function(expression) {
+        bl <- splitMainComponents(gsub("[[:space:]]", "", expression))
+        bl <- splitBrackets(bl)
+        bl <- removeSingleStars(bl)
+        bl <- splitPluses(bl)
+        blu <- unlist(bl)
+        bl <- splitStars(bl, ifelse((sl | any(hastilde(blu) & !tilde1st(blu))) & !grepl("[*]", expression) & !multivalue, "", "*"))
+        bl <- solveBrackets(bl)
+        bl <- simplifyList(bl)
+        return(bl)
+    }
+    checksubset <- function(mat) {
+        for (i in 1:2) {
+            eqz <- mat[i, ] == 0
+            if (nrow(unique(mat[, !eqz, drop = FALSE])) == 1) {
+                return(3 - i)
+            }
+        }
+        return(NULL)
+    }
+    qmc <- function(implicants, nrowexp) {
+        noflevels <- rep(2, ncol(implicants))
+        if (nrowexp == 1) {
+            return(implicants[1, , drop = FALSE])
+        }
+        minimized <- rep(TRUE, nrow(implicants))
+        first <- nrow(implicants) > nrowexp
+        if (first) {
+            minimized[seq(nrowexp)] <- FALSE
+        }
+        else {
+            minimized <- TRUE
+        }
+        while (any(minimized) & nrow(implicants) > 1) {
+            if (first) {
+                irows <- seq(nrowexp)
+            }
+            else {
+                minimized <- logical(nrow(implicants))
+                irows <- seq(nrow(implicants) - 1)
+            }
+            tbc <- matrix(nrow = 0, ncol = 2)
+            for (i in irows) {
+                for (j in seq(i + 1, nrow(implicants))) {
+                    if (sum(implicants[i, ] != implicants[j, ]) == 1) {
+                        tbc <- rbind(tbc, c(i, j))
+                    }
+                }
+            }
+            first <- FALSE
+            result <- NULL
+            if (nrow(tbc) > 0) {
+                differences <- t(apply(tbc, 1, function(idx) implicants[idx[1], ] != implicants[idx[2], ]))
+                result <- matrix(nrow = 0, ncol = ncol(differences))
+                for (i in seq.int(nrow(differences))) {
+                    stable.values <- implicants[tbc[i, 1], !differences[i, , drop = FALSE], drop = FALSE]
+                    subset.explain <- apply(implicants[, !differences[i, , drop = FALSE], drop = FALSE], 1, function(x) all(x == stable.values))
+                    if (sum(subset.explain) == noflevels[differences[i, ]]) {
+                        minimized[subset.explain] <- TRUE
+                        minimization.result <- implicants[tbc[i, 1], , drop = FALSE]
+                        minimization.result[differences[i, ]] <- 0
+                        result <- rbind(result, as.vector(minimization.result))
+                    }
+                }
+            }
+            if (sum(minimized) > 0) {
+                implicants <- implicants[!minimized, ]
+                if (!is.null(result)) {
+                    implicants <- rbind(implicants, unique(result))
+                }
+            }
+        }
+        return(implicants)
+    }
+    bl <- list()
+    if (any(hastilde(expression))) {
+        use.tilde <- TRUE
+    }
+    for (i in seq(length(expression))) {
+        bl <- c(bl, lapply(getbl(expression[i]), function(x) {
+            x <- unlist(x)
+            if (multivalue) {
+                outx <- toupper(curlyBrackets(x, outside=TRUE))
+                inx <- curlyBrackets(x)
+                x <- paste(outx, "{", inx, "}", sep = "")
+            }
+            x <- cx <- unique(unlist(x))
+            tx <- which(hastilde(x))
+            if (!multivalue) {
+                if (any(tx)) {
+                    x <- notilde(x)
+                    uptx <- is.element(x[tx], toupper(x))
+                    lotx <- is.element(x[tx], tolower(x))
+                    x[tx[uptx]] <- tolower(x[tx[uptx]])
+                    x[tx[lotx]] <- toupper(x[tx[lotx]])
+                }
+            }
+            cx <- cx[!duplicated(x)]
+            if (any(duplicated(toupper(notilde(cx))))) {
+                return(NULL)
+            }
+            else {
+                if (use.tilde) {
+                    tx <- hastilde(cx)
+                    x <- notilde(cx)
+                    lotx <- is.element(x, tolower(x))
+                    tx[lotx] <- !tx[lotx]
+                    x <- toupper(x)
+                    x[tx] <- paste("~", x[tx], sep = "")
+                    cx <- x
+                }
+                return(cx)
+            }
+        }))
+    }
+    bl <- unique(bl[!unlist(lapply(bl, is.null))])
+    bl <- paste(unlist(lapply(bl, paste, collapse = "*")), collapse = " + ")
+    if (identical(bl, "")) {
+        return(bl)
+    }
+    tlist <- list(expression = bl, snames = snames)
+    if (!missing(noflevels)) tlist$noflevels <- noflevels
+    bl <- do.call("translate", tlist)
+    expressions <- matrix(nrow = 0, ncol = ncol(bl))
+    colnames(expressions) <- colnames(bl)
+    mint <- rownames(bl) 
+    for (i in seq(nrow(bl))) {
+        expressions <- rbind(expressions, as.matrix(expand.grid(lapply(bl[i, ], function(x) {
+            asNumeric(splitstr(x)) + 1
+        }))))
+    }
+    `unite` <- function(x) {
+        apply(x, 2, function(x) {
+            if (all(x != 0)) {
+                if (max(x) - min(x) == 1) {
+                    return(0)
+                }
+                else { 
+                    return(x[1]) 
+                }
+            }
+            else {
+                return(max(x))
+            }
+        })
+    }
+    if (!multivalue) {
+        nrowexp <- nrow(expressions)
+        if (nrowexp > 1) {
+            combs <- combinations(nrowexp, 2)
+            for (i in seq(ncol(combs))) {
+                submat <- expressions[combs[, i], ]
+                ints <- apply(submat, 2, function(x) all(as.logical(x)))
+                if (any(ints)) {
+                    sums <- apply(submat, 1, function(x) sum(as.logical(x)))
+                    notequals <- apply(submat, 2, function(x) x[1] != x[2])
+                    if (max(sums) - min(sums) == 1 & sum(notequals) == 2) {
+                        expressions <- rbind(expressions, apply(submat, 2, function(x) {
+                            if (any(x == 0)) {
+                                return(max(x))
+                            }
+                            else {
+                                return(x[which.min(sums)])
+                            }
+                        }))
+                    }
+                }
+            }
+            expressions <- qmc(expressions, nrowexp)
+        }
+    }
+    if (all(expressions == 0)) {
+        cat("\n")
+        stop(simpleError("The result is an empty set.\n\n"))
+    }
+    if (nrow(expressions) > 1) {
+        minimized <- logical(nrow(expressions))
+        for (i in seq(nrow(expressions) - 1)) {
+            if (!minimized[i]) {
+                for (j in seq(i + 1, nrow(expressions))) {
+                    if (!minimized[j]) {
+                        subsetrow <- checksubset(expressions[c(i, j), , drop = FALSE])
+                        if (!is.null(subsetrow)) {
+                            minimized[c(i, j)[subsetrow]] <- TRUE
+                        }
+                    }
+                }
+            }
+        }
+        expressions <- expressions[!minimized, , drop = FALSE]
+    }
+    expressions <- writePrimeimp(sortExpressions(expressions),
+                                 mv = multivalue, use.tilde = use.tilde)
+    if (sl) {
+        expressions <- gsub("[*]", "", expressions)
+    }
+    mlist <- list(primes = expressions, configs = mint)
+    if (!missing(noflevels)) mlist$noflevels <- noflevels
+    if (!identical(snames, "")) mlist$snames <- snames
+    return(paste(expressions, collapse = " + "))
+}
+`sop` <- function(...) {
+    .Deprecated(msg = "Function sop() is deprecated, and has been renamed to simplify()\n")
+    simplify(...)
+}

Modified: pkg/R/solveChart.R
===================================================================
--- pkg/R/solveChart.R	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/R/solveChart.R	2019-01-20 15:01:41 UTC (rev 66)
@@ -43,10 +43,15 @@
         row.numbers <- rowDominance(chart)
         chart <- chart[row.numbers, ]
     }
-    if (findmin(chart) == 0) { 
+    foundm <- findmin(chart)
+    if (foundm == 0) { 
         cat("\n")
         stop(simpleError("The PI chart cannot be solved.\n\n"))
     }
+    else if (foundm < 0) {
+        cat("\n")
+        stop(simpleError("The PI chart is too complex for an exact solution.\n\n"))
+    }
     if (all(dim(chart) > 1)) {
         if (is.null(depth)) depth <- 0L
         output <- .Call("C_solveChart", t(matrix(as.logical(chart), nrow = nrow(chart))), all.sol, as.integer(depth), PACKAGE = "QCA")

Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/ChangeLog	2019-01-20 15:01:41 UTC (rev 66)
@@ -76,7 +76,7 @@
       simplifying assumptions
     o Fixed: minor bug in the classical QMC algorithm when the PI chart has
       exactly one column, irrelevant PIs were reported as sufficient (thanks
-      to Michael Baumgartner for reporting)
+      to Michael Baumgartner for the report)
     o Fixed: minimization in the classical QMC with exactly two observed
       configurations
     o Fixed: error in the truth table production when imposing a frequency
@@ -95,7 +95,7 @@
     o New: arguments "enhance" and "model" added to function XYplot()
     o New: reactivated the argument "add" to functions pof() and superSubset(),
       to allow for more parameter of fit measures in the output
-    o Improved: function intersection() now accept entire minimization objects
+    o Improved: function intersection() now accepts entire minimization objects
       of class "qca" as input
     o Improved: function minimize() gains three new arguments "depth", "min.pin"
       and "method"

Modified: pkg/inst/gui/www/js/maincode.js
===================================================================
--- pkg/inst/gui/www/js/maincode.js	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/gui/www/js/maincode.js	2019-01-20 15:01:41 UTC (rev 66)
@@ -7095,7 +7095,7 @@
     else {
         createDialog(settings["about"]);
         var messages = [
-            "R package: QCA, version 3.4",
+            "R package: QCA, version 3.4-1",
             "",
             "Author: Adrian Dușa (dusa.adrian at unibuc.ro)",
             "Former coauthors:",

Modified: pkg/inst/staticdocs/CV.html
===================================================================
--- pkg/inst/staticdocs/CV.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/CV.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>_Cebotari and Vink. QCA 3.4</title>
+<title>_Cebotari and Vink. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="">
 
@@ -32,7 +32,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/LegacyDatasets.html
===================================================================
--- pkg/inst/staticdocs/LegacyDatasets.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/LegacyDatasets.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>_Legacy datasets. QCA 3.4</title>
+<title>_Legacy datasets. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="">
 
@@ -32,7 +32,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/Lipset.html
===================================================================
--- pkg/inst/staticdocs/Lipset.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/Lipset.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>_Lipset. QCA 3.4</title>
+<title>_Lipset. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="">
 
@@ -32,7 +32,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/QCA.package.html
===================================================================
--- pkg/inst/staticdocs/QCA.package.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/QCA.package.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>QCA 3.4</title>
+<title>QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 
@@ -42,7 +42,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>
@@ -118,10 +118,10 @@
 </tr><tr><td> Package</td>
 </tr><tr><td>
     Version: </td>
-</tr><tr><td> 3.4 </td>
+</tr><tr><td> 3.4-1 </td>
 </tr><tr><td>
     Date:    </td>
-</tr><tr><td> 2019-01-18 </td>
+</tr><tr><td> 2019-01-20 </td>
 </tr><tr><td>
     License: </td>
 </tr><tr><td> GPL (>= 2)</td>

Modified: pkg/inst/staticdocs/RS.html
===================================================================
--- pkg/inst/staticdocs/RS.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/RS.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>_Ragin and Strand. QCA 3.4</title>
+<title>_Ragin and Strand. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="">
 
@@ -32,7 +32,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/SOPexpression.html
===================================================================
--- pkg/inst/staticdocs/SOPexpression.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/SOPexpression.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>translate, compute, simplify. QCA 3.4</title>
+<title>translate, compute, simplify. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/XYplot.html
===================================================================
--- pkg/inst/staticdocs/XYplot.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/XYplot.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>XYplot. QCA 3.4</title>
+<title>XYplot. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/Xplot.html
===================================================================
--- pkg/inst/staticdocs/Xplot.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/Xplot.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>Xplot. QCA 3.4</title>
+<title>Xplot. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/calibrate.html
===================================================================
--- pkg/inst/staticdocs/calibrate.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/calibrate.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>calibrate. QCA 3.4</title>
+<title>calibrate. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/causalChain.html
===================================================================
--- pkg/inst/staticdocs/causalChain.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/causalChain.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>causalChain. QCA 3.4</title>
+<title>causalChain. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/chartFunctions.html
===================================================================
--- pkg/inst/staticdocs/chartFunctions.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/chartFunctions.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>PI chart functions: makeChart, findmin, solveChart. QCA 3.4</title>
+<title>PI chart functions: makeChart, findmin, solveChart. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/export.html
===================================================================
--- pkg/inst/staticdocs/export.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/export.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>export. QCA 3.4</title>
+<title>export. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/factorize.html
===================================================================
--- pkg/inst/staticdocs/factorize.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/factorize.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>factorize. QCA 3.4</title>
+<title>factorize. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/findRows.html
===================================================================
--- pkg/inst/staticdocs/findRows.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/findRows.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>findRows. QCA 3.4</title>
+<title>findRows. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/findTh.html
===================================================================
--- pkg/inst/staticdocs/findTh.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/findTh.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>findTh. QCA 3.4</title>
+<title>findTh. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/fuzzyops.html
===================================================================
--- pkg/inst/staticdocs/fuzzyops.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/fuzzyops.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>fuzzyand, fuzzyor. QCA 3.4</title>
+<title>fuzzyand, fuzzyor. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/implicantMatrixFunctions.html
===================================================================
--- pkg/inst/staticdocs/implicantMatrixFunctions.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/implicantMatrixFunctions.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>Implicant matrix functions: allExpressions, createMatrix, getRow. QCA 3.4</title>
+<title>Implicant matrix functions: allExpressions, createMatrix, getRow. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/index.html
===================================================================
--- pkg/inst/staticdocs/index.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/index.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>Index. QCA 3.4</title>
+<title>Index. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="">
 
@@ -32,7 +32,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/intersection.html
===================================================================
--- pkg/inst/staticdocs/intersection.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/intersection.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>intersection. QCA 3.4</title>
+<title>intersection. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/minimize.html
===================================================================
--- pkg/inst/staticdocs/minimize.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/minimize.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>minimize. QCA 3.4</title>
+<title>minimize. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
   <div class="navbar-inner">
     <div class="container">
-      <a class="brand" href="#">QCA 3.4</a>
+      <a class="brand" href="#">QCA 3.4-1</a>
       <div class="nav">
         <ul class="nav">
           <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li>

Modified: pkg/inst/staticdocs/modelFit.html
===================================================================
--- pkg/inst/staticdocs/modelFit.html	2019-01-18 16:51:36 UTC (rev 65)
+++ pkg/inst/staticdocs/modelFit.html	2019-01-20 15:01:41 UTC (rev 66)
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-<title>modelFit. QCA 3.4</title>
+<title>modelFit. QCA 3.4-1</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="
 Adrian Dusa
@@ -34,7 +34,7 @@
     <div class="navbar">
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/qca -r 66


More information about the Qca-commits mailing list