package com.srbenoit.geom;

/**
 * An exception thrown when an attempt is made to invert a singular matrix.
 */
public final class SingularMatrixException extends RuntimeException {

    /** version number for serialization */
    private static final long serialVersionUID = -5321393728885816859L;

    /**
     * Constructs a new <code>SingularMatrixException</code> with <code>null</code> as its detail
     * message.
     */
    public SingularMatrixException() {

        super();
    }

    /**
     * Constructs a new <code>SingularMatrixException</code> with the specified detail message.
     *
     * @param  message  the detail message
     */
    public SingularMatrixException(final String message) {

        super(message);
    }

    /**
     * Constructs a new <code>SingularMatrixException</code> with the specified detail message and
     * cause.
     *
     * <p>Note that the detail message associated with <code>cause</code> is <i>not</i>
     * automatically incorporated in this runtime exception's detail message.
     *
     * @param  message  the detail message
     * @param  cause    the cause
     */
    public SingularMatrixException(final String message, final Throwable cause) {

        super(message, cause);
    }

    /**
     * Constructs a new <code>SingularMatrixException</code> with the specified cause and a detail
     * message of <code>(cause==null ? null : cause.toString())</code> (which typically contains the
     * class and detail message of <code>cause</code> ).
     *
     * @param  cause  the cause
     */
    public SingularMatrixException(final Throwable cause) {

        super(cause);
    }
}
