All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.nyu.acsys.CVC4.SynthFunCommand Maven / Gradle / Ivy

/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package edu.nyu.acsys.CVC4;

public class SynthFunCommand extends DeclarationDefinitionCommand {
  private transient long swigCPtr;

  protected SynthFunCommand(long cPtr, boolean cMemoryOwn) {
    super(CVC4JNI.SynthFunCommand_SWIGUpcast(cPtr), cMemoryOwn);
    swigCPtr = cPtr;
  }

  protected static long getCPtr(SynthFunCommand obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  @SuppressWarnings("deprecation")
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        CVC4JNI.delete_SynthFunCommand(swigCPtr);
      }
      swigCPtr = 0;
    }
    super.delete();
  }

  public SynthFunCommand(String id, Expr func, Type sygusType, boolean isInv, vectorExpr vars) {
    this(CVC4JNI.new_SynthFunCommand__SWIG_0(id, Expr.getCPtr(func), func, Type.getCPtr(sygusType), sygusType, isInv, vectorExpr.getCPtr(vars), vars), true);
  }

  public SynthFunCommand(String id, Expr func, Type sygusType, boolean isInv) {
    this(CVC4JNI.new_SynthFunCommand__SWIG_1(id, Expr.getCPtr(func), func, Type.getCPtr(sygusType), sygusType, isInv), true);
  }

  public Expr getFunction() {
    return new Expr(CVC4JNI.SynthFunCommand_getFunction(swigCPtr, this), true);
  }

  public vectorExpr getVars() {
    return new vectorExpr(CVC4JNI.SynthFunCommand_getVars(swigCPtr, this), false);
  }

  public Type getSygusType() {
    return new Type(CVC4JNI.SynthFunCommand_getSygusType(swigCPtr, this), true);
  }

  public boolean isInv() {
    return CVC4JNI.SynthFunCommand_isInv(swigCPtr, this);
  }

  public void invoke(SmtEngine smtEngine) {
    CVC4JNI.SynthFunCommand_invoke(swigCPtr, this, SmtEngine.getCPtr(smtEngine), smtEngine);
  }

  public Command exportTo(ExprManager exprManager, ExprManagerMapCollection variableMap) {
    long cPtr = CVC4JNI.SynthFunCommand_exportTo(swigCPtr, this, ExprManager.getCPtr(exprManager), exprManager, ExprManagerMapCollection.getCPtr(variableMap), variableMap);
    return (cPtr == 0) ? null : new Command(cPtr, false);
  }

  public Command clone() {
    long cPtr = CVC4JNI.SynthFunCommand_clone(swigCPtr, this);
    return (cPtr == 0) ? null : new Command(cPtr, false);
  }

  public String getCommandName() {
    return CVC4JNI.SynthFunCommand_getCommandName(swigCPtr, this);
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy