ArciMath Home

Installing ArciMath BigDecimal

  1. Extracting the files

    ArciMath BigDecimal is distributed in a .zip-file. The software (.jar-files) itself is password protected. You obtain the password only after you accept the License Agreement that is included in the distribution package, not through the online version of the License Agreement!

    Use your favorite .zip utility to extract all files, preserving the directory structure contained in the .zip-file; the .jar-files are in the file Then read and accept the License Agreement on your local computer system, after which you will get the password to extract the .jar-files from their zip. The .jar-file marked JDK1 is for JDK 1.1.x, the other for Java 2 (JDK 1.2.x and above).

    Once again, the password is NOT online. The password is in the download only. Once downloaded, you should unzip all files, read and accept the License Agreement (license.htm) that is contained in the download (it is the same agreement as the one you may just have read online, but the <ACCEPT> button action is different). When you press (click on) the <ACCEPT> button, you will be presented the password to unpack the .jar files.

    The reason for this procedure is simple. While our official distribution site enforces acceptance of the License Agreement before downloading, other distribution sites do not. Therefor we ask you to accept the downloaded License Agreement before giving you the password.

  2. End user installation

    If you are an end user of a software that is distributed with the Evaluation Version of ArciMath BigDecimal, the author should have included instructions on how to replace that with the Production Version, after your free 30-day evaluation period is finished. If he has not, you should point out to him that he has breached his license agreement with us by not including these instructions.

  3. Java programmer installation

    If you are a Java programmer, you should know how to make the appropriate .jar-file available in your classpath. To upgrade existing .java code to use ArciMath BigDecimal, just replace
    import java.math.BigDecimal;
    import be.arci.math.*;
    or, if you use java.math.BigInteger as well, replace
    import java.math.*;
    import java.math.BigInteger;
    import be.arci.math.*;

    JDBC and ArciMath BigDecimal

    The JDBC specification imposes the use of java.math.BigDecimal for representing the SQL-1992 types DECIMAL and NUMERIC. So how do you plug in ArciMath BigDecimal there?

    The answer is simple and fast, and requires little coding:

    Even in these cases ArciMath BigDecimal will very probably give you a speed advantage over java.math.BigDecimal: your JDBC driver would have had to execute exactly the same Java code, going through String, to obtain a java.math.BigDecimal, and the java.math interface to String is not nearly as fast as that of ArciMath.

    This is not difficult to understand. Except maybe for a 100% pure Java DBMS, a DBMS that implements the SQL types DECIMAL and NUMERIC will not represent them internally as java.math.BigDecimal objects, but in some proprietary format (very often some form of BCD or 'packed decimal'). Internal selection and sorting logic will work on the internal representation and in native code. The java.math.BigDecimal class is needed only in response to your calls to ResultSet.getBigDecimal(), CallableStatement.getBigDecimal() or PreparedStatement.setBigDecimal(). Now only a few Java classes like String are defined in JNI (the native code interface), so there is no sound way for the DBMS (apart maybe from running a modified JVM) to construct or interpret Java objects like BigDecimal in native code. Instead, your DBMS has to offer or ask the Java part of the JDBC driver a String or byte array. Therefor, rather than letting the Java part of the driver construct a java.math.BigDecimal from that String, you can just as valid (and faster) construct an ArciMath BigDecimal from it yourself.

ArciMath Home