MachineEpsilon.java
/*
* Created on 2004/07/01
*
* $Id: MachineEpsilon.java,v 1.3 2005/08/20 15:05:53 koga Exp $
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.cga.number;
/**
* マシンイプシロンを求めます。
*
* @author Hiroki
* @version $Revision: 1.3 $. 2004/07/01
*/
public final class MachineEpsilon {
/**
* コンストラクタ。
*/
private MachineEpsilon() {
//
}
/**
* double型のときのマシンイプシロンを求めます。
*
* @return マシンイプシロン。
*/
public static double getDoubleMachineEpsilon() {
double dme = 1;
double dtest = 1 + dme;
while (1 != dtest) {
dme = dme / 2;
dtest = 1 + dme;
}
return dme;
}
// public static void main(String[] args) {
// double me = MachineEpsilon.getDoubleMachineEpsilon();
// Matrix.setFormatLength(25);
// System.out.println(1.0 == 1.0 - me);
// Matrix A = new RealMatrix(new double[] { 1.0 });
// RealIntervalMatrix a = IntervalMaker.makeInterval(A);
// a.print();
// }
}