/** Private constructor, reserved for the factory method {@link #getCompiler(int, int)}. * @param parameters number of free parameters * @param order derivation order * @param valueCompiler compiler for the value part * @param derivativeCompiler compiler for the derivative part * @throws NumberIsTooLargeException if order is too large */ private DSCompiler(final int parameters, final int order, final DSCompiler valueCompiler, final DSCompiler derivativeCompiler) throws NumberIsTooLargeException { this.parameters = parameters; this.order = order; this.sizes = compileSizes(parameters, order, valueCompiler); this.derivativesIndirection = compileDerivativesIndirection(parameters, order, valueCompiler, derivativeCompiler); this.lowerIndirection = compileLowerIndirection(parameters, order, valueCompiler, derivativeCompiler); this.multIndirection = compileMultiplicationIndirection(parameters, order, valueCompiler, derivativeCompiler, lowerIndirection); this.compIndirection = compileCompositionIndirection(parameters, order, valueCompiler, derivativeCompiler, sizes, derivativesIndirection); }
/** Private constructor, reserved for the factory method {@link #getCompiler(int, int)}. * @param parameters number of free parameters * @param order derivation order * @param valueCompiler compiler for the value part * @param derivativeCompiler compiler for the derivative part * @throws NumberIsTooLargeException if order is too large */ private DSCompiler(final int parameters, final int order, final DSCompiler valueCompiler, final DSCompiler derivativeCompiler) throws NumberIsTooLargeException { this.parameters = parameters; this.order = order; this.sizes = compileSizes(parameters, order, valueCompiler); this.derivativesIndirection = compileDerivativesIndirection(parameters, order, valueCompiler, derivativeCompiler); this.lowerIndirection = compileLowerIndirection(parameters, order, valueCompiler, derivativeCompiler); this.multIndirection = compileMultiplicationIndirection(parameters, order, valueCompiler, derivativeCompiler, lowerIndirection); this.compIndirection = compileCompositionIndirection(parameters, order, valueCompiler, derivativeCompiler, sizes, derivativesIndirection); }
/** Private constructor, reserved for the factory method {@link #getCompiler(int, int)}. * @param parameters number of free parameters * @param order derivation order * @param valueCompiler compiler for the value part * @param derivativeCompiler compiler for the derivative part * @throws NumberIsTooLargeException if order is too large */ private DSCompiler(final int parameters, final int order, final DSCompiler valueCompiler, final DSCompiler derivativeCompiler) throws NumberIsTooLargeException { this.parameters = parameters; this.order = order; this.sizes = compileSizes(parameters, order, valueCompiler); this.derivativesIndirection = compileDerivativesIndirection(parameters, order, valueCompiler, derivativeCompiler); this.lowerIndirection = compileLowerIndirection(parameters, order, valueCompiler, derivativeCompiler); this.multIndirection = compileMultiplicationIndirection(parameters, order, valueCompiler, derivativeCompiler, lowerIndirection); this.compIndirection = compileCompositionIndirection(parameters, order, valueCompiler, derivativeCompiler, sizes, derivativesIndirection); }