public static final int MAX_ARITY = 8;
public static final String HEADER =
- "/**\n"
- + " * This code is generated in " + GenerateFunctions.class.getName() + ".\n"
- + " * Do not edit manually!\n"
+ "/**\r\n"
+ + " * This code is generated in " + GenerateFunctions.class.getName() + ".\r\n"
+ + " * Do not edit manually!\r\n"
+ " */"
;
p.println(" nps[i + " + n + "] = ps[i];");
p.println(" return f.applyArray(nps);");
p.println(" }");
+ p.println();
}
{
p.println(" @Override");
p.println(" sb.append(\")\");");
p.println(" return sb.toString();");
p.println(" }");
+ p.println();
+ }
+ {
+ p.println(" @Override");
+ p.println(" public int hashCode() {");
+ p.println(" int result = f.hashCode();");
+ for(int i=0;i<n;++i)
+ p.println(" result = 31 * result + (p"+i+" == null ? 0 : p"+i+".hashCode());");
+ p.println(" return result;");
+ p.println(" }");
+ p.println();
+ }
+ {
+ p.println(" @Override");
+ p.println(" public boolean equals(Object obj) {");
+ p.println(" if (this == obj)");
+ p.println(" return true;");
+ p.println(" if (obj == null)");
+ p.println(" return false;");
+ p.println(" if (getClass() != obj.getClass())");
+ p.println(" return false;");
+ p.println(" UnsaturatedFunction"+n+" other = (UnsaturatedFunction"+n+") obj;");
+ p.println(" if(!f.equals(other.f))");
+ p.println(" return false;");
+ for(int i=0;i<n;++i) {
+ p.println(" if(p"+i+" == null) {");
+ p.println(" if (other.p"+i+" != null)");
+ p.println(" return false;");
+ p.println(" } else if (!p"+i+".equals(other.p"+i+"))");
+ p.println(" return false;");
+ }
+ p.println(" return true;");
+ p.println(" }");
+ p.println();
}
p.println("}");
}
p.println(HEADER);
p.println("package " + PACKAGE + ";");
p.println();
+ p.println("import java.util.Arrays;");
+ p.println();
p.println("@SuppressWarnings(\"all\")");
p.println("public class UnsaturatedFunctionN implements Function {");
p.println(" private final Function f;");
p.println(" System.arraycopy(ops, 0, nps, ps.length, ops.length);");
p.println(" return f.applyArray(nps);");
p.println(" }");
+ p.println();
}
{
p.println(" @Override");
p.println(" sb.append(\")\");");
p.println(" return sb.toString();");
p.println(" }");
+ p.println();
+ }
+ {
+ p.println(" @Override");
+ p.println(" public int hashCode() {");
+ p.println(" return f.hashCode() + 31 * Arrays.hashCode(ps);");
+ p.println(" }");
+ p.println();
+ }
+ {
+ p.println(" @Override");
+ p.println(" public boolean equals(Object obj) {");
+ p.println(" if (this == obj)");
+ p.println(" return true;");
+ p.println(" if (obj == null)");
+ p.println(" return false;");
+ p.println(" if (getClass() != obj.getClass())");
+ p.println(" return false;");
+ p.println(" UnsaturatedFunctionN other = (UnsaturatedFunctionN) obj;");
+ p.println(" return f.equals(other.f) && Arrays.equals(ps, other.ps);");
+ p.println(" }");
+ p.println();
}
p.println("}");
}