📄 original_function_point_set.java
字号:
import java.io.*;public class Original_Function_Point_Set { static final int MAX_NR_OF_FITNESS_CASES = 100; private String rawText; public RealPoint[] data; public Original_Function_Point_Set( String rawText) { super(); this.rawText = rawText; this.data = read(rawText); } public RealPoint[] get() { return data; } public static RealPoint[] read(String s) { StringBufferInputStream stream = new StringBufferInputStream(s); StreamTokenizer tokenizer = new StreamTokenizer(stream); RealPoint[] temp = new RealPoint[MAX_NR_OF_FITNESS_CASES]; int count = 0; try { int token; do { double x; double y; token = tokenizer.nextToken(); if (token == StreamTokenizer.TT_NUMBER) { x = tokenizer.nval; token = tokenizer.nextToken(); if (token == StreamTokenizer.TT_NUMBER) { y = tokenizer.nval; temp[count] = new RealPoint(x, y); count++; } } } while (count < MAX_NR_OF_FITNESS_CASES && token != StreamTokenizer.TT_EOF); } catch (Exception e) { ; } RealPoint[] result = new RealPoint[count]; System.arraycopy(temp, 0, result, 0, count); return result; }public static String makeDefaultFitnessCases(int number) { int NrOfFitnessCases = 20; String s=null; switch(number) { case 0: {s="// 3*x^4 - 3*x + 1\n";break;} case 1: {s="//sin(x)\n";break;} case 2: {s="//cos(x)\n";break;} } for (int i = 0; i < NrOfFitnessCases; i++) { double x = (double)i / (NrOfFitnessCases - 1); if (x == 0.0) { x = 1.0e-7; } double y = 0; switch(number) { case 0: {y=1.0 + (-3.0)*x + (3.0)*x*x*x*x;break;} case 1: {y=Math.sin(x);break;} case 2: {y=Math.cos(x);break;} } // The stream tokenizer does not handle numbers with an exponent. // Therefore, clamp small numbers like 1.2e-6 to 0: if (Math.abs(x) < 1.0e-5) { x = 0; }; if (Math.abs(y) < 1.0e-5) { y = 0; }; s = s + x + " " + y + "\n"; } return s; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -