All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nd4j.linalg.compression.CompressionAlgorithm Maven / Gradle / Ivy

There is a newer version: 1.0.0-M2.1
Show newest version
package org.nd4j.linalg.compression;

/**
 * Compression algorithm enum
 *
 * @author Adam Gibson
 */
public enum CompressionAlgorithm {
    FLOAT8, FLOAT16, GZIP, INT8, INT16, NOOP, UNIT8, CUSTOM;

    /**
     * Return the appropriate compression algorithm
     * from the given string
     * @param algorithm the algorithm to return
     * @return the compression algorithm from the given string
     * or an IllegalArgumentException if the algorithm is invalid
     */
    public static CompressionAlgorithm fromString(String algorithm) {
        switch (algorithm.toUpperCase()) {
            case "FP16":
                return FLOAT8;
            case "FP32":
                return FLOAT16;
            case "FLOAT8":
                return FLOAT8;
            case "FLOAT16":
                return FLOAT16;
            case "GZIP":
                return GZIP;
            case "INT8":
                return INT8;
            case "INT16":
                return INT16;
            case "NOOP":
                return NOOP;
            case "UNIT8":
                return UNIT8;
            case "CUSTOM":
                return CUSTOM;
            default:
                throw new IllegalArgumentException("Wrong algorithm " + algorithm);
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy