public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hash = 17; // Suitable nullity checks etc, of course :) hash = hash * 23 + VariableA.GetHashCode(); hash = hash * 23 + VariableB.GetHashCode(); hash = hash * 23 + Sancts.GetHashCode(); return(hash); } }
public override ILExpression BuildNew(PatternMatcher pm) { var res = pm.Operator; res.Arguments.Clear(); if (pm.SimpleLeftOperand) { res.Arguments.Add(pm.SimpleOperand); } res.Arguments.Add(VariableA.BuildNew(pm)); if (pm.B != null) { res.Arguments.Add(VariableB.BuildNew(pm)); } else if (pm.SimpleOperand != null && !pm.SimpleLeftOperand) { res.Arguments.Add(pm.SimpleOperand); } return(res); }
public override string[] ExportData() { DataTable dtNew = DataTable.CopyForExport(); //Get the response, treatment and covariate columns by removing all other columns from the new datatable foreach (string columnName in dtNew.GetVariableNames()) { if (!VariableA.Contains(columnName) && (VariableB == null || !VariableB.Contains(columnName)) && (VariableC == null || !VariableC.Contains(columnName) && (VariableD == null || !VariableD.Contains(columnName)))) { dtNew.Columns.Remove(columnName); } } string[] csvArray = dtNew.GetCSVArray(); //fix any columns with illegal chars here (at the end) ArgumentFormatter argFormatter = new ArgumentFormatter(); csvArray[0] = argFormatter.ConvertIllegalCharacters(csvArray[0]); return(csvArray); }