// Path: utils-basickit/src/main/java/com/cognitionis/utils_basickit/StringUtils.java
// public class StringUtils {
// 
//     /**
//      * Returns if a char is ASCII (fastest than the generic function: existsInEncoding(char c, String encoding))
//      * @param c
//      * @return
//      */
//     public static boolean isASCII(char c) {
//         return (((int) c >> 7) == 0);
//     }
// 
//     /**
//      * Returns if a char is ISO-8859-1 (fastest than the generic function: existsInEncoding(char c, String encoding))
//      * @param c
//      * @return
//      */
//     public static boolean isISO_8859_1(char c) {
//         return (((int) c) < 256);
//     }
// 
//     /**
//      * Returns if a char is of an encoding
//      * @param c
//      * @return
//      */
//     public static boolean existsInEncoding(char c, String encoding) {
//         try {
//             String s = "" + c;
//             byte bytes[] = s.getBytes(encoding);
//             String s2 = new String(bytes, encoding);
//             return (s2.equals(s));
//         } catch (Exception e) {
//             System.err.println("Errors found (StringUtils):\n\t" + e.toString());
//             if (System.getProperty("DEBUG") != null && System.getProperty("DEBUG").equalsIgnoreCase("true")) {
//                 e.printStackTrace(System.err);
//                 System.exit(1);
//             }
//             return false;
//         }
//     }
// 
//     /**
//      * Returns if a string is of an encoding
//      * @param s
//      * @return
//      */
//     public static boolean existsInEncoding(String s, String encoding) {
//         try {
//             byte bytes[] = s.getBytes(encoding);
//             String s2 = new String(bytes, encoding);
//             return (s2.equals(s));
//         } catch (Exception e) {
//             System.err.println("Errors found (StringUtils):\n\t" + e.toString());
//             if (System.getProperty("DEBUG") != null && System.getProperty("DEBUG").equalsIgnoreCase("true")) {
//                 e.printStackTrace(System.err);
//                 System.exit(1);
//             }
//             return false;
//         }
//     }
// 
//     public static int countOccurrencesOf(String source, char pattern) {
//         int count = 0;
//         if (source != null) {
//             int found = -1;
//             int start = 0;
// 
// 
//             while ((found = source.indexOf(pattern, start)) != -1) {
//                 start = found + 1;
//                 count++;
//             }
//             return count;
//         } else {
//             return 0;
//         }
//     }
// 
//     public static int countOccurrencesOf(String source, String pattern) {
//         int count = 0;
//         if (source != null) {
//             final int len = pattern.length();
//             int found = -1;
//             int start = 0;
// 
// 
//             while ((found = source.indexOf(pattern, start)) != -1) {
//                 start = found + len;
//                 count++;
//             }
//             return count;
//         } else {
//             return 0;
//         }
//     }
// 
//     public static String twoDecPosS(double d) {
//         Double a;
//         String twoDec;
//         int negative_inc = 0;
//         int decimal_pos = 0;
// 
//         a = (((int) Math.round((d) * 100.0)) / 100.0);
//         twoDec = a.toString();
// 
//         decimal_pos = twoDec.lastIndexOf('.');
//         if (decimal_pos == -1) {
//             twoDec += ".";
//             decimal_pos = twoDec.length();
//         }
//         twoDec += "00";
// 
//         twoDec = twoDec.substring(0, decimal_pos + 3);
// 
//         return twoDec;
//     }
// 
// public static <T> T[] concatArray(T[] first, T[] second) {
//   T[] result = Arrays.copyOf(first, first.length + second.length);
//   System.arraycopy(second, 0, result, first.length, second.length);
//   return result;
// }
// 
// 
// }


import com.cognitionis.utils_basickit.StringUtils;
        for (int fold = 0; fold < 10; fold++) {
            mean += data[fold];
        }
        mean /= count;

        double variance = 0.0;
        for (int fold = 0; fold < 10; fold++) {
            variance += Math.pow(data[fold] - mean, 2);
        }
        variance /= count;

        double stdev = Math.sqrt(variance);

        // paired t-test
        t = (mean - 0.0) / (stdev / Math.sqrt(count));

        if (t >= 1.38) {
            two_tail = 0.2;
            significant = true;
        }
        if (t >= 1.83) {
            two_tail = 0.1;
        }
        if (t >= 2.26) {
            two_tail = 0.05;
        }
        if (t >= 3.25) {
            two_tail = 0.001;
        }

// Path: utils-basickit/src/main/java/com/cognitionis/utils_basickit/StringUtils.java
// public class StringUtils {
// 
//     /**
//      * Returns if a char is ASCII (fastest than the generic function: existsInEncoding(char c, String encoding))
//      * @param c
//      * @return
//      */
//     public static boolean isASCII(char c) {
//         return (((int) c >> 7) == 0);
//     }
// 
//     /**
//      * Returns if a char is ISO-8859-1 (fastest than the generic function: existsInEncoding(char c, String encoding))
//      * @param c
//      * @return
//      */
//     public static boolean isISO_8859_1(char c) {
//         return (((int) c) < 256);
//     }
// 
//     /**
//      * Returns if a char is of an encoding
//      * @param c
//      * @return
//      */
//     public static boolean existsInEncoding(char c, String encoding) {
//         try {
//             String s = "" + c;
//             byte bytes[] = s.getBytes(encoding);
//             String s2 = new String(bytes, encoding);
//             return (s2.equals(s));
//         } catch (Exception e) {
//             System.err.println("Errors found (StringUtils):\n\t" + e.toString());
//             if (System.getProperty("DEBUG") != null && System.getProperty("DEBUG").equalsIgnoreCase("true")) {
//                 e.printStackTrace(System.err);
//                 System.exit(1);
//             }
//             return false;
//         }
//     }
// 
//     /**
//      * Returns if a string is of an encoding
//      * @param s
//      * @return
//      */
//     public static boolean existsInEncoding(String s, String encoding) {
//         try {
//             byte bytes[] = s.getBytes(encoding);
//             String s2 = new String(bytes, encoding);
//             return (s2.equals(s));
//         } catch (Exception e) {
//             System.err.println("Errors found (StringUtils):\n\t" + e.toString());
//             if (System.getProperty("DEBUG") != null && System.getProperty("DEBUG").equalsIgnoreCase("true")) {
//                 e.printStackTrace(System.err);
//                 System.exit(1);
//             }
//             return false;
//         }
//     }
// 
//     public static int countOccurrencesOf(String source, char pattern) {
//         int count = 0;
//         if (source != null) {
//             int found = -1;
//             int start = 0;
// 
// 
//             while ((found = source.indexOf(pattern, start)) != -1) {
//                 start = found + 1;
//                 count++;
//             }
//             return count;
//         } else {
//             return 0;
//         }
//     }
// 
//     public static int countOccurrencesOf(String source, String pattern) {
//         int count = 0;
//         if (source != null) {
//             final int len = pattern.length();
//             int found = -1;
//             int start = 0;
// 
// 
//             while ((found = source.indexOf(pattern, start)) != -1) {
//                 start = found + len;
//                 count++;
//             }
//             return count;
//         } else {
//             return 0;
//         }
//     }
// 
//     public static String twoDecPosS(double d) {
//         Double a;
//         String twoDec;
//         int negative_inc = 0;
//         int decimal_pos = 0;
// 
//         a = (((int) Math.round((d) * 100.0)) / 100.0);
//         twoDec = a.toString();
// 
//         decimal_pos = twoDec.lastIndexOf('.');
//         if (decimal_pos == -1) {
//             twoDec += ".";
//             decimal_pos = twoDec.length();
//         }
//         twoDec += "00";
// 
//         twoDec = twoDec.substring(0, decimal_pos + 3);
// 
//         return twoDec;
//     }
// 
// public static <T> T[] concatArray(T[] first, T[] second) {
//   T[] result = Arrays.copyOf(first, first.length + second.length);
//   System.arraycopy(second, 0, result, first.length, second.length);
//   return result;
// }
// 
// 
// }


// Path: utils-basickit/src/main/java/com/cognitionis/utils_basickit/statistics/T_test.java
import com.cognitionis.utils_basickit.StringUtils;

        for (int fold = 0; fold < 10; fold++) {
            mean += data[fold];
        }
        mean /= count;

        double variance = 0.0;
        for (int fold = 0; fold < 10; fold++) {
            variance += Math.pow(data[fold] - mean, 2);
        }
        variance /= count;

        double stdev = Math.sqrt(variance);

        // paired t-test
        t = (mean - 0.0) / (stdev / Math.sqrt(count));

        if (t >= 1.38) {
            two_tail = 0.2;
            significant = true;
        }
        if (t >= 1.83) {
            two_tail = 0.1;
        }
        if (t >= 2.26) {
            two_tail = 0.05;
        }
        if (t >= 3.25) {
            two_tail = 0.001;
        }

        output = "mean=" + StringUtils.twoDecPosS(mean) + " stdev=" + StringUtils.twoDecPosS(stdev) + " t=" + StringUtils.twoDecPosS(t) + " two_tail=" + two_tail + " one_tail=" + StringUtils.twoDecPosS(two_tail / 2) + " confidence>95=" + significant;