Clover coverage report - brownies library - 1.0-beta-1
Coverage timestamp: 月 8 16 2004 17:14:42 GMT+09:00
file stats: LOC: 106   Methods: 9
NCLOC: 40   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
MathUtils.java 100% 76.5% 55.6% 73.3%
coverage coverage
 1   
 /*
 2   
  * Joey and its relative products are published under the terms
 3   
  * of the Apache Software License.
 4   
  */
 5   
 package org.asyrinx.brownie.core.util;
 6   
 
 7   
 /**
 8   
  * @author akima
 9   
  */
 10   
 public final class MathUtils {
 11   
 
 12   
     /**
 13   
      *  
 14   
      */
 15  0
     private MathUtils() {
 16  0
         super();
 17   
     }
 18   
 
 19   
     /**
 20   
      * 値の整数部が10進数で何桁あるのかを返します。
 21   
      * 
 22   
      * @param value
 23   
      * @return
 24   
      */
 25  19
     public static int digitPlace(double value) {
 26  19
         double work = Math.abs(value) / 10;
 27  19
         int result = 1;
 28  19
         while (work >= 1) {
 29  96
             work /= 10;
 30  96
             result++;
 31   
         }
 32  19
         return result;
 33   
     }
 34   
 
 35   
     /**
 36   
      * 値の整数部が10進数で何桁あるのかを返します。
 37   
      * 
 38   
      * @param value
 39   
      * @return
 40   
      */
 41  0
     public static int digitPlace(float value) {
 42  0
         return digitPlace((double) value);
 43   
     }
 44   
 
 45   
     /**
 46   
      * 値の整数部が10進数で何桁あるのかを返します。
 47   
      * 
 48   
      * @param value
 49   
      * @return
 50   
      */
 51  15
     public static int digitPlace(int value) {
 52  15
         return digitPlace((double) value);
 53   
     }
 54   
 
 55   
     /**
 56   
      * 値の整数部が10進数で何桁あるのかを返します。
 57   
      * 
 58   
      * @param value
 59   
      * @return
 60   
      */
 61  4
     public static int digitPlace(long value) {
 62  4
         return digitPlace((double) value);
 63   
     }
 64   
 
 65   
     /**
 66   
      * 10進数の数値に対して指定された桁の数値を返します。
 67   
      * 
 68   
      * @author akima
 69   
      */
 70  15
     public static int getDigitAt(double value, int place) {
 71  15
         final double placeNumber = Math
 72  15
                 .pow(10, (place > 0) ? place : place + 1);
 73  15
         double upper = new Double(value / placeNumber).longValue()
 74   
                 * placeNumber;
 75  15
         int result = new Double((value - upper) / placeNumber * 10).intValue();
 76  15
         return result;
 77   
     }
 78   
 
 79   
     /**
 80   
      * 10進数の数値に対して指定された桁の数値を返します。
 81   
      * 
 82   
      * @author akima
 83   
      */
 84  0
     public static int getDigitAt(long value, int place) {
 85  0
         return getDigitAt((double) value, place);
 86   
     }
 87   
 
 88   
     /**
 89   
      * 10進数の数値に対して指定された桁の数値を返します。
 90   
      * 
 91   
      * @author akima
 92   
      */
 93  9
     public static int getDigitAt(int value, int place) {
 94  9
         return getDigitAt((double) value, place);
 95   
     }
 96   
 
 97   
     /**
 98   
      * 10進数の数値に対して指定された桁の数値を返します。
 99   
      * 
 100   
      * @author akima
 101   
      */
 102  0
     public static int getDigitAt(float value, int place) {
 103  0
         return getDigitAt((double) value, place);
 104   
     }
 105   
 
 106   
 }