public void printFunction(DifferentialFunction differentialFunction) {
        if (!logExecution)
            return;
        if (differentialFunction instanceof SDVariable)
            return;

        StringBuilder argShapes = new StringBuilder();
        for (val arg : differentialFunction.args()) {
            argShapes.append(" Variable " + arg.getVarName() +
                    " Shape for " + Arrays.toString(arg.getShape()));
        }

        for (val func : differentialFunction.outputVariables()) {
            argShapes.append("  Output variable " + func.getVarName() + " is " +
                    Arrays.toString(func.getShape()));
        }


        StringBuilder realShapes = new StringBuilder();
        for (val arg : differentialFunction.args()) {
            realShapes.append(" Input shape for " + arg.getVarName() + " is  " + Arrays.
                    toString(getShapeForVarName(arg.getVarName())));
        }

        for (val arg : differentialFunction.outputVariables()) {
            realShapes.append(" Output shape for " + arg.getVarName() + " is  " + Arrays.
                    toString(getShapeForVarName(arg.getVarName())));
        }


//        log.info(realShapes.toString());
    }
public void printFunction(DifferentialFunction differentialFunction) {
        if (!logExecution)
            return;
        if (differentialFunction instanceof SDVariable)
            return;

        StringBuilder argShapes = new StringBuilder();
        for (val arg : differentialFunction.args()) {
            argShapes.append(" Variable " + arg.getVarName() +
                    " Shape for " + Arrays.toString(arg.getShape()));
        }

        for (val func : differentialFunction.outputVariables()) {
            argShapes.append("  Output variable " + func.getVarName() + " is " +
                    Arrays.toString(func.getShape()));
        }


        StringBuilder realShapes = new StringBuilder();
        for (val arg : differentialFunction.args()) {
            realShapes.append(" Input shape for " + arg.getVarName() + " is  " + Arrays.
                    toString(getShapeForVarName(arg.getVarName())));
        }

        for (val arg : differentialFunction.outputVariables()) {
            realShapes.append(" Output shape for " + arg.getVarName() + " is  " + Arrays.
                    toString(getShapeForVarName(arg.getVarName())));
        }



    }
public void printFunction ( DifferentialFunction differentialFunction ) { if ( ! logExecution ) return ; if ( differentialFunction instanceof SDVariable ) return ; StringBuilder argShapes = new StringBuilder ( ) ; for ( val arg : differentialFunction . args ( ) ) { argShapes . append ( " Variable " + arg . getVarName ( ) + " Shape for " + Arrays . toString ( arg . getShape ( ) ) ) ; } for ( val func : differentialFunction . outputVariables ( ) ) { argShapes . append ( "  Output variable " + func . getVarName ( ) + " is " + Arrays . toString ( func . getShape ( ) ) ) ; } StringBuilder realShapes = new StringBuilder ( ) ; for ( val arg : differentialFunction . args ( ) ) { realShapes . append ( " Input shape for " + arg . getVarName ( ) + " is  " + Arrays . toString ( getShapeForVarName ( arg . getVarName ( ) ) ) ) ; } for ( val arg : differentialFunction . outputVariables ( ) ) { realShapes . append ( " Output shape for " + arg . getVarName ( ) + " is  " + Arrays . toString ( getShapeForVarName ( arg . getVarName ( ) ) ) ) ; } //        log.info(realShapes.toString()); }
Print the given function for debugging (will not print functions)

@param differentialFunction the function to print
Print the given function for debugging ( will not print functions )