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) :: StringThis 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 thedimsubroutine"-F"runs thefmelsubroutine"-S"runs theportsortsubroutine"-T"runs thetrafsubroutine
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 ) :: StringThis 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 thefctpsubroutine"-I"runs theiesposubroutine"-P"runs theposiesubroutine"-V"runs thevintsubroutine
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.