/// <summary> convienance method for getting the values based on the /// bindings /// </summary> /// <param name="">ft /// </param> /// <returns> /// /// </returns> public static BindValue[] getRightBindValues(Binding[] binds, IFact ft) { BindValue[] vals = new BindValue[binds.Length]; for (int idx = 0; idx < binds.Length; idx++) { vals[idx] = new BindValue(ft.getSlotValue(binds[idx].RightIndex), binds[idx].negated()); } return vals; }
/// <summary> Get the values from the left side /// </summary> /// <param name="">facts /// </param> /// <returns> /// /// </returns> public static BindValue[] getLeftBindValues(Binding[] binds, IFact[] facts) { BindValue[] vals = new BindValue[binds.Length]; for (int idx = 0; idx < binds.Length; idx++) { vals[idx] = new BindValue(facts[binds[idx].LeftRow].getSlotValue(binds[idx].LeftIndex), binds[idx].negated()); } return vals; }
/// <summary> /// </summary> public NotEqHashIndex(BindValue[] thevalues) { values = thevalues; calculateHash(); }