Example usage for org.apache.commons.math3.complex Complex isInfinite

List of usage examples for org.apache.commons.math3.complex Complex isInfinite

Introduction

In this page you can find the example usage for org.apache.commons.math3.complex Complex isInfinite.

Prototype

boolean isInfinite

To view the source code for org.apache.commons.math3.complex Complex isInfinite.

Click Source Link

Document

Record whether this complex number is infinite.

Usage

From source file:uk.me.berndporr.iirj.BandPassTransform.java

private ComplexPair transform(Complex c) {
    if (c.isInfinite()) {
        return new ComplexPair(new Complex(-1), new Complex(1));
    }/*from   w  w w. j a  v  a2s .  c  o m*/

    c = ((new Complex(1)).add(c)).divide((new Complex(1)).subtract(c)); // bilinear

    Complex v = new Complex(0);
    v = MathSupplement.addmul(v, 4 * (b2 * (a2 - 1) + 1), c);
    v = v.add(8 * (b2 * (a2 - 1) - 1));
    v = v.multiply(c);
    v = v.add(4 * (b2 * (a2 - 1) + 1));
    v = v.sqrt();

    Complex u = v.multiply(-1);
    u = MathSupplement.addmul(u, ab_2, c);
    u = u.add(ab_2);

    v = MathSupplement.addmul(v, ab_2, c);
    v = v.add(ab_2);

    Complex d = new Complex(0);
    d = MathSupplement.addmul(d, 2 * (b - 1), c).add(2 * (1 + b));

    return new ComplexPair(u.divide(d), v.divide(d));
}

From source file:uk.me.berndporr.iirj.BandStopTransform.java

private ComplexPair transform(Complex c) {
    if (c.isInfinite())
        c = new Complex(-1);
    else//w  w  w .  j ava2  s  .co m
        c = ((new Complex(1)).add(c)).divide((new Complex(1)).subtract(c)); // bilinear

    Complex u = new Complex(0);
    u = MathSupplement.addmul(u, 4 * (b2 + a2 - 1), c);
    u = u.add(8 * (b2 - a2 + 1));
    u = u.multiply(c);
    u = u.add(4 * (a2 + b2 - 1));
    u = u.sqrt();

    Complex v = u.multiply(-.5);
    v = v.add(a);
    v = MathSupplement.addmul(v, -a, c);

    u = u.multiply(.5);
    u = u.add(a);
    u = MathSupplement.addmul(u, -a, c);

    Complex d = new Complex(b + 1);
    d = MathSupplement.addmul(d, b - 1, c);

    return new ComplexPair(u.divide(d), v.divide(d));
}

From source file:uk.me.berndporr.iirj.HighPassTransform.java

private Complex transform(Complex c) {
    if (c.isInfinite())
        return new Complex(1, 0);

    // frequency transform
    c = c.multiply(f);/*  w  w w . java 2 s. c  om*/

    // bilinear high pass transform
    return new Complex(-1).multiply((new Complex(1)).add(c)).divide((new Complex(1)).subtract(c));
}

From source file:uk.me.berndporr.iirj.LowPassTransform.java

private Complex transform(Complex c) {
    if (c.isInfinite())
        return new Complex(-1, 0);

    // frequency transform
    c = c.multiply(f);//www .  j a v  a  2s . c  o  m

    Complex one = new Complex(1, 0);

    // bilinear low pass transform
    return (one.add(c)).divide(one.subtract(c));
}