lojix/power_model/src/main/com/thesett/aima/attribute/time/BitHackUtils.java
public static int intLogBase10(long value)
    {
        return (value >= 1000000000000000000L)
            ? 18
            : ((value >= 100000000000000000L)
                ? 17
                : ((value >= 10000000000000000L)
                    ? 16
                    : ((value >= 1000000000000000L)
                        ? 15
                        : ((value >= 100000000000000L)
                            ? 14
                            : ((value >= 10000000000000L)
                                ? 13
                                : ((value >= 1000000000000L)
                                    ? 12
                                    : ((value >= 100000000000L)
                                        ? 11
                                        : ((value >= 10000000000L)
                                            ? 10
                                            : ((value >= 1000000000L)
                                                ? 9
                                                : ((value >= 100000000L)
                                                    ? 8
                                                    : ((value >= 10000000L)
                                                        ? 7
                                                        : ((value >= 1000000L)
                                                            ? 6
                                                            : ((value >= 100000L)
                                                                ? 5
                                                                : ((value >= 10000L)
                                                                    ? 4
                                                                    : ((value >= 1000L)
                                                                        ? 3
                                                                        : ((value >= 100L)
                                                                            ? 2
                                                                            : ((value >= 10L) ? 1 : 0)))))))))))))))));
    }
public static int intLogBase10(long value)
    {
        return (value >= 1000000000000000000L)
            ? 18
            : ((value >= 100000000000000000L)
                ? 17
                : ((value >= 10000000000000000L)
                    ? 16
                    : ((value >= 1000000000000000L)
                        ? 15
                        : ((value >= 100000000000000L)
                            ? 14
                            : ((value >= 10000000000000L)
                                ? 13
                                : ((value >= 1000000000000L)
                                    ? 12
                                    : ((value >= 100000000000L)
                                        ? 11
                                        : ((value >= 10000000000L)
                                            ? 10
                                            : ((value >= 1000000000L)
                                                ? 9
                                                : ((value >= 100000000L)
                                                    ? 8
                                                    : ((value >= 10000000L)
                                                        ? 7
                                                        : ((value >= 1000000L)
                                                            ? 6
                                                            : ((value >= 100000L)
                                                                ? 5
                                                                : ((value >= 10000L)
                                                                    ? 4
                                                                    : ((value >= 1000L)
                                                                        ? 3
                                                                        : ((value >= 100L)
                                                                            ? 2
                                                                            : ((value >= 10L) ? 1 : 0)))))))))))))))));
    }
public static int intLogBase10 ( long value ) { return ( value >= 1000000000000000000L ) ? 18 : ( ( value >= 100000000000000000L ) ? 17 : ( ( value >= 10000000000000000L ) ? 16 : ( ( value >= 1000000000000000L ) ? 15 : ( ( value >= 100000000000000L ) ? 14 : ( ( value >= 10000000000000L ) ? 13 : ( ( value >= 1000000000000L ) ? 12 : ( ( value >= 100000000000L ) ? 11 : ( ( value >= 10000000000L ) ? 10 : ( ( value >= 1000000000L ) ? 9 : ( ( value >= 100000000L ) ? 8 : ( ( value >= 10000000L ) ? 7 : ( ( value >= 1000000L ) ? 6 : ( ( value >= 100000L ) ? 5 : ( ( value >= 10000L ) ? 4 : ( ( value >= 1000L ) ? 3 : ( ( value >= 100L ) ? 2 : ( ( value >= 10L ) ? 1 : 0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ; }
Calcalates the log base 10 of an integer. This method favours shorter numbers.

@param  value The value to calculate for.

@return Log base 10 of the input value.
Calcalates the log base 10 of an integer . This method favours shorter numbers .