This file implements functions to generate SMV files for synthesizing correct sorting/splitter networks for a given number of inputs and a desired depth. Further options are found by the global variables below.
Function or value | Description |
|
|
|
|
define y{i,k} as the output of channel i after level k; the result is a mapping of (i,k) to BoolExpr that are the case expressions defining y{i,k}
|
|
Full Usage:
PredeterminedModules d n casNet
Parameters:
int
n : int
casNet : (int * int)[][]
|
generate a map that holds the already predetermined CAS modules given by casNet and some propagation rules
|
Full Usage:
ReadNetworkFromFile inFile
Parameters:
string
Returns: (int * int)[][]
|
read in an incomplete comparator network from a file that shall be completed to a splitter network; the file should list the levels of comparators given in brackets [] containing pairs of integers separated by ";"
|
|
determine a formula that states that exactly half of the given formulas hold; the result is a DNF of that formula (caution: exponential growth!)
|
|
generate variables g_{i,j,k} meaning there is a comparator connecting lines i and j in level k, x_{i} meaning the value of input i, and y_{i}_{k} as the output of channel i after level k
|
|
|
|
This function writes the SMV file to stream ostr that states that there is no wellformed comparator network with n inputs and maximal depth d.
|
|
|
Full Usage:
computeModelCheckingProblem ostr d n casNet
Parameters:
TextWriter
d : int
n : int
casNet : (int * int)[][]
|
|
Full Usage:
flattenLevels
Returns: bool
|
|
Full Usage:
flattenOutputEquations d n
Parameters:
int
n : int
|
|
Full Usage:
fullLevels
Returns: bool
|
|
gVar[i].[j].[k] is an expression that holds iff channels (i,j) are connected by a CAS module in level k
|
|
Full Usage:
halfOfAsDNF
Returns: bool
|
|
|
|
Full Usage:
noComments
Returns: bool
|
|
Full Usage:
onlyFinalCrossHalves
Returns: bool
|
|
Full Usage:
runNuSMV smvExe smvFileWriter
Parameters:
string
smvFileWriter : StreamWriter -> unit
Returns: string
|
Running NuSMV on the web server with input coming from stdin: Expected arguments are smvExe which is the path of the executable file of NuSMV like "/srv/www-es/cgi-bin/NuSMV" and a function that will write a input file for NuSMV to a stream.
|
Full Usage:
useFinalHC
Returns: bool
|
|
Full Usage:
useHalfOf
Returns: bool
|
|
Full Usage:
useInitialPB
Returns: bool
|
|
Full Usage:
useSizeConstr
Returns: int option
|
|
|
|
|
|
|