Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 428BC200C5E for ; Sat, 22 Apr 2017 18:23:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 41162160B96; Sat, 22 Apr 2017 16:23:09 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 88AD9160B93 for ; Sat, 22 Apr 2017 18:23:08 +0200 (CEST) Received: (qmail 20008 invoked by uid 500); 22 Apr 2017 16:23:07 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 19996 invoked by uid 99); 22 Apr 2017 16:23:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Apr 2017 16:23:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 330F4C0145 for ; Sat, 22 Apr 2017 16:23:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 2nMae-5BtuSx for ; Sat, 22 Apr 2017 16:23:05 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 0A9E85FB5A for ; Sat, 22 Apr 2017 16:23:05 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 7E37AE05F7 for ; Sat, 22 Apr 2017 16:23:04 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 1060121B53 for ; Sat, 22 Apr 2017 16:23:04 +0000 (UTC) Date: Sat, 22 Apr 2017 16:23:04 +0000 (UTC) From: "Gilles (JIRA)" To: issues@commons.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (MATH-667) Representations of the complex numbers MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Sat, 22 Apr 2017 16:23:09 -0000 [ https://issues.apache.org/jira/browse/MATH-667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gilles updated MATH-667: ------------------------ Labels: commons-numbers features (was: features) Fix Version/s: (was: 4.X) 4.0 Issue must be moved to NUMBERS. > Representations of the complex numbers > -------------------------------------- > > Key: MATH-667 > URL: https://issues.apache.org/jira/browse/MATH-667 > Project: Commons Math > Issue Type: Wish > Reporter: Gilles > Priority: Minor > Labels: commons-numbers, features > Fix For: 4.0 > > > Several issues have been raised about the current behaviour of the "Complex" class, located in package "o.a.c.m.complex" (e.g. MATH-657, MATH-620). > The ensuing discussion revealed various, sometimes incompatible, requirements with focus on efficiency or consistency or backwards compatibility or comparison with other math packages (Octave) or faithfulness to standards (C99x). > It is thus proposed to create several classes, each with a clearly defined purpose. > The consensus seems to be that the first task is to implement a new "BasicComplex" class where the computational formulae (for computing real and imaginary part of a complex) will be applied directly without worrying about limiting cases (NaNs and infinities). Doing so will automatically produce a behaviour similar to the Java {{double}} primitive. It is also assumed that it will be the most efficient implementation for "normal" use (i.e. not involving limiting cases). > This task would consist in copying most of the code in the existing "Complex" class over to "BasicComplex". And similarly with "ComplexTest". Then, in "BasicComplex", one would remove all variables that refer to NaNs and infinities together with checks and special assignments, and adapt the unit tests along the way. > A new "ExtendedComplex" class would inherit from "BasicComplex". This class would aim at representing the compactified space of the complex numbers (one point-at-infinity). > A new "C99Complex" class would inherit from "BasicComplex". This class would aim at implementing the C99x standard. -- This message was sent by Atlassian JIRA (v6.3.15#6346)