package hirondelle.starfield;
import hirondelle.starfield.physics.InputParameterException;
import hirondelle.starfield.physics.InputParameters;
import hirondelle.starfield.physics.Starfield;
import hirondelle.starfield.physics.StarfieldStats;
import hirondelle.starfield.util.Consts;
import hirondelle.starfield.util.Util;
import java.awt.Toolkit;
public final class Main {
public static void main(String... aArgs){
long start = System.currentTimeMillis();
Util.log("Launching..." + Consts.NL);
Util.log("JRE total memory: " + Runtime.getRuntime().totalMemory());
Util.log("JRE free memory: " + Runtime.getRuntime().freeMemory() + Consts.NL);
InputParameters input = null;
try {
input = new InputParameters(aArgs[0],aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[8], aArgs[9], aArgs[10]);
Util.log(input);
calculateStarfield(input);
}
catch(InputParameterException ex){
for(String error : ex.getErrors()){
Util.log(error+Consts.NL);
}
Util.log("Error: Aborting, arguments not correct. Please see javadoc for more information.");
}
long end = System.currentTimeMillis();
Util.log(Consts.NL + "Done. Elapsed time: " + (end-start)/1000.0D + " seconds.");
Toolkit.getDefaultToolkit().beep();
}
private static void calculateStarfield(InputParameters aInput){
Starfield starfield = new Starfield(aInput);
StarfieldStats stats = starfield.calculate();
Util.log(stats.toString());
}
}