Binaries
The PORTA source code is compiled into two binaries, xporta
and valid
. Each binary exposes a several subroutines. For more information regarding these binaries and their subroutines, please refere to the PORTA Documentation.
xporta
XPORTA.run_xporta
— Functionrun_xporta( method_flag::String, args::Array{String,1}; verbose::Bool = false) :: String
This method is intended for advanced use of the xporta binary. User knowledge of flags and arguments is required for successful execution. Furthermore, users must explicitly handle file IO for the xporta
binary.
Runs the xporta
binary through PORTA_jll
and returns a string containing STDOUT
. The method_flag
argument specifies which xporta
subroutine to call.
Valid options for method_flag
are:
"-D"
runs thedim
subroutine"-F"
runs thefmel
subroutine"-S"
runs theportsort
subroutine"-T"
runs thetraf
subroutine
The args
parameter is uniquely specified by method_flag
, for more information regarding methods and arguments see the xporta
documentation.
If verbose=true
the xporta
prints to STDOUT
.
valid
XPORTA.run_valid
— Functionrun_valid( method_flag::String, args::Array{String,1}; verbose::Bool=false ) :: String
This method is intended for advanced use of the valid
binary. User knowledge of flags and arguments is required for successful execution. Users must explicitly handle file IO for the valid
binary.
Runs the valid
binary through PORTA_jll
and returns a string containing STDOUT
. The method_flag
specifies which valid
subroutine to call.
Valid options for method_flag
are:
"-C"
runs thefctp
subroutine"-I"
runs theiespo
subroutine"-P"
runs theposie
subroutine"-V"
runs thevint
subroutine
The args
parameter is uniquely specified by method_flag
, for more information regarding methods and arguments see the valid
documentation.
If verbose=true
the valid
binary prints to STDOUT
.
XPORTA.iespo
— Functioniespo( ieq::IEQ, poi::POI; kwargs...) :: IEQ{Rational{Int}}
Enumerates the valid equations and inequalities of the IEQ
which satisfy the points and rays in the POI
. An IEQ
containing valid inequalities and equations is returned.
This method does not work as described by the PORTA iespo documentation. Invalid in/equalities are not filtered out. However, the strong validity check does work.
To run the strong validity check, use arguments cleanup=false
and opt_flag="-v"
. With these arguments, iespo()
will print a table to the output .ieq
file which can manually be read/parsed.
In a future update, a parser may be written for the strong validity table or the PORTA source code may be update to properly execute the in/equality filtering.
kwargs
is shorthand for the following keyword arguments:
dir::String = "./"
- The directory to which files are written.filename::String = "iespo_tmp"
- The name of produced files.strong_validity::Bool = false
- Prints the strong validity table to the outputIEQ
, (requires manual parsing).cleanup::Bool = true
- Iftrue
, created files are removed after computation.verbose::Bool = false
- Iftrue
, PORTA will print progress toSTDOUT
.
For more details regarding iespo()
please refer to the PORTA iespo documentation.