/// <summary> /// Swap variables (i.e. x_i -> y_i and y_i -> x_i) of a node. /// [ REFS: 'result', DEREFS: dd ] /// </summary> public static CUDDNode SwapVariables(CUDDNode dd, CUDDVars oldVars, CUDDVars newVars) { return(new CUDDNode(PlatformInvoke.DD_SwapVariables(manager, dd.Ptr, oldVars.GetArrayPointer(), newVars.GetArrayPointer(), oldVars.GetNumVars()))); }
/// <summary> /// Generates BDD for the function x = y /// where x, y are num_vars-bit numbers encoded by variables x_vars, y_vars /// [ REFS: 'result', DEREFS: 'none' ] /// </summary> public static CUDDNode VariablesEquals(CUDDVars xVars, CUDDVars yVars) { return(new CUDDNode(PlatformInvoke.DD_VariablesEquals(manager, xVars.GetArrayPointer(), yVars.GetArrayPointer(), xVars.GetNumVars()))); }
/// <summary> /// Or Abstract variables in vars, dd must be 0-1 ADD. /// result will not contain boolean variables in vars /// [ REFS: 'result', DEREFS: dd ] /// </summary> public static CUDDNode ThereExists(CUDDNode dd, CUDDVars vars) { return new CUDDNode(PlatformInvoke.DD_ThereExists(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars())); }
/// <summary> /// Print vector dd, suppos that all variables supporting dd belong to vars /// [ REFS: 'none', DEREFS: 'none' ] /// </summary> public static void PrintVector(CUDDNode dd, CUDDVars vars) { PlatformInvoke.DD_PrintVector(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars(), LOW); }
/// <summary> /// Return (f and g) abstract vars /// [ REFS: 'result', DEREFS: f ] /// </summary> public static CUDDNode MinAbstract(CUDDNode f, CUDDVars vars) { return new CUDDNode(PlatformInvoke.DD_MinAbstract(manager, f.Ptr, vars.GetArrayPointer(), vars.GetNumVars())); }
/// <summary> /// Sum (ie. +) Abstract variables in vars /// [ REFS: 'result', DEREFS: dd ] /// </summary> public static CUDDNode SumAbstract(CUDDNode dd, CUDDVars vars) { return new CUDDNode(PlatformInvoke.DD_SumAbstract(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars())); }
/// <summary> /// Return the first cube making the ADD not 0 /// [ REFS: 'result', DEREFS: 'dd' ] /// </summary> public static CUDDNode RestrictToFirst(CUDDNode dd, CUDDVars vars) { return new CUDDNode(PlatformInvoke.DD_RestrictToFirst(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars())); }
/// <summary> /// Return (f and g) abstract vars /// [ REFS: 'result', DEREFS: f ] /// </summary> public static CUDDNode MaxAbstract(CUDDNode f, CUDDVars vars) { return(new CUDDNode(PlatformInvoke.DD_MaxAbstract(manager, f.Ptr, vars.GetArrayPointer(), vars.GetNumVars()))); }
/// <summary> /// Return the int value corresponding the binary representation of the current minterm /// [ REFS: 'none', DEREFS: 'none' ] /// </summary> public static int MinTermToInt(CUDDNode dd, CUDDVars vars) { return PlatformInvoke.Cudd_MinTermToInt(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars()); }
/// <summary> /// Return (f and g) abstract vars /// [ REFS: 'result', DEREFS: f, g ] /// </summary> public static CUDDNode AndExists(CUDDNode f, CUDDNode g, CUDDVars vars) { return(new CUDDNode(PlatformInvoke.DD_AndExists(manager, f.Ptr, g.Ptr, vars.GetArrayPointer(), vars.GetNumVars()))); }
/// <summary> /// Universal Abstract (ie. product, *) variables in vars, the same with ForAll /// [ REFS: 'result', DEREFS: dd ] /// </summary> public static CUDDNode ProductAbstract(CUDDNode dd, CUDDVars vars) { return(new CUDDNode(PlatformInvoke.DD_ProductAbstract(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars()))); }
/// <summary> /// Universal Abstract (ie. product, *) variables in vars /// [ REFS: 'result', DEREFS: dd ] /// </summary> public static CUDDNode ForAll(CUDDNode dd, CUDDVars vars) { return(new CUDDNode(PlatformInvoke.DD_ForAll(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars()))); }
/// <summary> /// Return the first cube making the ADD not 0 /// [ REFS: 'result', DEREFS: 'dd' ] /// </summary> public static CUDDNode RestrictToFirst(CUDDNode dd, CUDDVars vars) { return(new CUDDNode(PlatformInvoke.DD_RestrictToFirst(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars()))); }
public static ODDNode BuildODD(CUDDNode reach, CUDDVars rowVars) { return new ODDNode(PlatformInvoke._Z9build_oddP9DdManagerP6DdNodePS2_i(manager, reach.Ptr, rowVars.GetArrayPointer(), rowVars.GetNumVars())); }
/// <summary> /// Return the int value corresponding the binary representation of the current minterm /// [ REFS: 'none', DEREFS: 'none' ] /// </summary> public static int MinTermToInt(CUDDNode dd, CUDDVars vars) { return(PlatformInvoke.Cudd_MinTermToInt(manager, dd.Ptr, vars.GetArrayPointer(), vars.GetNumVars())); }
public static ODDNode BuildODD(CUDDNode reach, CUDDVars rowVars) { return(new ODDNode(PlatformInvoke._Z9build_oddP9DdManagerP6DdNodePS2_i(manager, reach.Ptr, rowVars.GetArrayPointer(), rowVars.GetNumVars()))); }