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_xportaFunction
run_xporta( method_flag::String, args::Array{String,1}; verbose::Bool = false) :: String
Warning

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 the dim subroutine
  • "-F" runs the fmel subroutine
  • "-S" runs the portsort subroutine
  • "-T" runs the traf 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.

source

valid

XPORTA.run_validFunction
run_valid( method_flag::String, args::Array{String,1}; verbose::Bool=false ) :: String
Warning

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 the fctp subroutine
  • "-I" runs the iespo subroutine
  • "-P" runs the posie subroutine
  • "-V" runs the vint 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.

source
XPORTA.iespoFunction
iespo( 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.

Danger

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 output IEQ, (requires manual parsing).
  • cleanup::Bool = true - If true, created files are removed after computation.
  • verbose::Bool = false- If true, PORTA will print progress to STDOUT.

For more details regarding iespo() please refer to the PORTA iespo documentation.

source