/** * Loads an internal algebra with a given dimension * @param dimension The dimension * @param useTable Should the tables be used? * @return The usealgebra */ private static UseAlgebra loadInternalAlgebra(int dimension, boolean useTable) { try { AlgebraDefinitionFile alFile = new AlgebraDefinitionFile(); String baseDirPath = "algebra/"+dimension+"d/"; alFile.loadFromFile(AlStrategy.class.getResourceAsStream(baseDirPath+"definition.csv")); alFile.setProductsFilePath(baseDirPath+"products.csv"); alFile.setUseAsRessource(true); alFile.setUsePrecalculatedTable(useTable); TCBlade[] blades = BladeArrayRoutines.createBlades(Arrays.copyOfRange(alFile.base,1,alFile.base.length)); alFile.blades = new Expression[blades.length]; for (int i = 0; i < blades.length; i++) { alFile.blades[i] = blades[i].toExpression(); } return new UseAlgebra(alFile); } catch (IOException ex) { Logger.getLogger(UseAlgebra.class.getName()).log(Level.SEVERE, null, ex); } return null; }
alFile.setProductsFilePath(baseDir+"products.csv");