Código fuente para la clave pública complex.java bitcoin

/ * * Este trabajo de W. Patrick Hooper está libre de restricciones de copyright conocidas. * El trabajo es de dominio público. * * Sitio web del autor: http://wphooper.com. */ numero de paquete ; / ** * Esta clase almacena un número complejo y permite al usuario hacer aritmética * con estos números. * * Tenga en cuenta que nuestros números complejos son inmutables. Es decir, una vez que están * construidos, no cambiarán. En particular, todas nuestras operaciones algebraicas * crean un nuevo número complejo en lugar de actualizar el actual. * * @author W. Patrick Hooper * / clase pública final Complex {// El número almacenado es x + I * y. final privado doble x, y; // No quiero permitir que nadie acceda a estos números, así que los he etiquetado como // privados. / ** Construye un punto a partir de partes reales e imaginarias. * / Complejo público (double real_part, double imaginary_part) {

y = 0; } // Un constructor estático. / ** Construye un número complejo a partir de las coordenadas polares dadas. * / público estático Complex fromPolar (double r, double theta) {return new Complex (r * Math. cos (theta), r * Math. sen (theta)); } // Operaciones básicas en números complejos. / ** Devuelve la parte real. * / public double re () {return x; } / ** Devuelve la parte imaginaria. * / public double im () {return y; } / ** Devuelve el conjugado complejo * / Complejo público conj () {return new Complex (x, -y); } / ** Devuelve el cuadrado del valor absoluto. * / public double absSquared () {return x * x + y * y; } / ** Devuelve el valor absoluto. * / público doble abs () {// El Java.el paquete lang.Math contiene muchas funciones matemáticas útiles, // incluida la función de raíz cuadrada. devuelve Math sqrt (absSquared ()); } // ARITHMETIC / ** Agregue un número complejo a este. * * @param z El número complejo que se agregará. * @return Un nuevo número complejo que es la suma. * / public Complex add (Complex z) {return new Complex (x + z .x, y + z .y); } / ** Restar un Número complejo de este. * * @param z El número complejo que se restará. * @return Un nuevo número complejo que es la suma. * / public Complex menos (Complex z) {return new Complex (x -z .x, y -z .y); } / ** Negar este número complejo. * * @return La negación. * / public Complex neg () {return new Complex (-x, -y); } / ** Calcule el producto de dos números complejos * * @param z El número complejo que se multiplicará. * @return Un nuevo número complejo que es el producto. * / public Complex complejo (Complex z) {return new Complex (x * z .x -y * z .y, x * z .y + z .x * y); } / ** Divide esto complejo número por un número real * * @param q El número para dividir por. * @return Un nuevo número complejo que representa el cociente. * / public Div complejo (doble q) {return new Complex (x / q, y / q); } / ** Devuelve el inverso multiplicativo. * / public Complex inv () {// encuentra el cuadrado del valor absoluto de este Número complejo. double abs_squared = absSquared (); return new Complex (x / abs_squared, -y / abs_squared); } / ** Calcule el cociente de dos números complejos. * * @param z El número complejo para dividir este por. * @return Un nuevo número complejo que es el cociente. * / public Div complejo (Complex z) {return mult (z. inv ()); } / ** Devuelve la exponencial compleja de este número complejo. * / public Complex exp () {return new Complex (Math. exp (x) * Math. cos (y), Math. exp (x) * Math. sin (y)); } // FUNCIONES QUE MANTIENEN JAVA HAPPY: / ** Devuelve este punto como una cadena. * El objetivo principal de esta función es imprimir la cadena, * por lo que devolvemos una cadena en un formato legible (bastante) humano. * / // La directiva _optional_ override "@Anular" debajo solo dice que estamos // anulando una función definida en una clase padre. En este caso, el // padre es java.lang.Object. Todas las clases en Java tienen la clase Object // como una superclase.

public String toString () {// Comentarios: // 1) "" representa la cadena vacía // 2) Si agrega algo a una cadena, convierte lo que // está agregando a una cadena, y luego lo concatena con la cadena. // Hacemos vudú para asegurarnos de que el número se muestra razonablemente. if (y == 0) {return "" + x; } Si y > 0) {regreso "" + x + "+" + y + "*YO" ; } // de otro modo y>> 32));

banner