From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.devel Subject: Re: Calc; Div by 0 in solving system Date: Mon, 22 Apr 2019 08:56:57 +0200 Message-ID: <65BB6847-F116-4884-93F8-7082D17B2600@acm.org> References: <1555861067.5469.3.camel@qlfiles.net> Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="230734"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Emacs developers To: Christopher Howard Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 22 08:59:53 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hISvh-000xsa-Eo for ged-emacs-devel@m.gmane.org; Mon, 22 Apr 2019 08:59:53 +0200 Original-Received: from localhost ([127.0.0.1]:33307 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hISvg-0004RF-81 for ged-emacs-devel@m.gmane.org; Mon, 22 Apr 2019 02:59:52 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:56864) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hISvX-0004Pe-5f for emacs-devel@gnu.org; Mon, 22 Apr 2019 02:59:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hISt2-0000MH-Nn for emacs-devel@gnu.org; Mon, 22 Apr 2019 02:57:11 -0400 Original-Received: from mail239c50.megamailservers.eu ([91.136.10.249]:37874 helo=mail56c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hISt0-0000Gz-Q4 for emacs-devel@gnu.org; Mon, 22 Apr 2019 02:57:07 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1555916219; bh=CM+CPm2BRBAwbVTYqo0hJFX35Qt/cus+wG2X/BAHSUU=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=Rirha5V8mYZgejLXNqYelccLQZIRCt4c6zDn05P8niX/BMnUg6L/p8XWc2ok+lhJs isULnLHMS+n8gPdYNnW2HY1u7qhctzogRBChor5n1bO/th0jg8GHHymYNkC98IlPcd vsQxb+mCoEOtJ49D2/SbYNpg3s9Pf2mmCG3O6mAc= Feedback-ID: mattiase@acm.or Original-Received: from [192.168.0.4] ([188.150.171.71]) (authenticated bits=0) by mail56c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x3M6uv8N003414; Mon, 22 Apr 2019 06:56:59 +0000 In-Reply-To: <1555861067.5469.3.camel@qlfiles.net> X-Mailer: Apple Mail (2.3445.104.8) X-CTCH-RefID: str=0001.0A0B0203.5CBD65BB.004E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=Y+fWTCWN c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=BVC-wYMAAAAA:8 a=Bh_PP6Foyi3yC3hr56AA:9 a=CjuIK1q_8ugA:10 a=L_73hM5gTJBvaLdepetC:22 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.249 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235755 Archived-At: 21 apr. 2019 kl. 17.37 skrev Christopher Howard = : >=20 > Place this on stack with algebriac mode: >=20 > [2 * x - 3 * y + z =3D 5, x + y - 2 * z =3D 0, -x + 2 * y + 3 * z =3D = -3] >=20 > run command 'a S x,y,z' >=20 > Receive error 'Division by zero: 1' >=20 > I enabled Debug on Error but could not find the backtrace This is the backtrace I get in Emacs 26.1: * math-reject-arg((float 1 0) "*Division by zero") math-div-by-zero((float 1 0) 0) math-div((float 1 0) 0) math-float((frac 1 0)) math-mul((frac 1 0) (float 138629436111989 -14)) math-mul-objects-fancy((frac 1 0) (cplx (float 138629436111989 -14) = (float 314159265358979 -14))) math-mul((frac 1 0) (cplx (float 138629436111989 -14) (float = 314159265358979 -14))) math-pow-fancy(-4 (frac 1 0)) math-pow(-4 (frac 1 0)) math-poly-laguerre-root((4) 0 t) math-poly-any-root((4) 0 t) math-try-solve-for((+ (+ (- (* 2 (- (var z var-z) (float 1 0))) (/ (- = (+ 5 (* 3 (- (var z var-z) (float 1 0)))) (var z var-z)) 2)) (* 3 (var z = var-z))) 3) 0 nil nil) math-try-solve-for((calcFunc-eq (+ (- (* 2 (- (var z var-z) (float 1 = 0))) (/ (- (+ 5 (* 3 (- (var z var-z) (float 1 0)))) (var z var-z)) 2)) = (* 3 (var z var-z))) -3) 0 nil) math-solve-for((calcFunc-eq (+ (- (* 2 (- (var z var-z) (float 1 0))) = (/ (- (+ 5 (* 3 (- (var z var-z) (float 1 0)))) (var z var-z)) 2)) (* 3 = (var z var-z))) -3) 0 (var z var-z) nil) math-solve-system-rec((((calcFunc-eq (+ (- (* 2 (- (var z var-z) = (float 1 0))) (/ (- (+ 5 (* 3 (- (var z var-z) (float 1 0)))) (var z = var-z)) 2)) (* 3 (var z var-z))) -3))) ((var z var-z)) (((var y var-y) = (- (var z var-z) (float 1 0))) ((var x var-x) (/ (- (+ 5 (* 3 (- (var z = var-z) (float 1 0)))) (var z var-z)) 2)))) math-solve-system-rec((((calcFunc-eq (- (+ (/ (- (+ 5 (* 3 (var y = var-y))) (var z var-z)) 2) (var y var-y)) (* 2 (var z var-z))) 0)) = ((calcFunc-eq (+ (- (* 2 (var y var-y)) (/ (- (+ 5 (* 3 (var y var-y))) = (var z var-z)) 2)) (* 3 (var z var-z))) -3))) ((var y var-y) (var z = var-z)) (((var x var-x) (/ (- (+ 5 (* 3 (var y var-y))) (var z var-z)) = 2)))) math-solve-system-rec((((calcFunc-eq (+ (- (* 2 (var x var-x)) (* 3 = (var y var-y))) (var z var-z)) 5)) ((calcFunc-eq (- (+ (var x var-x) = (var y var-y)) (* 2 (var z var-z))) 0)) ((calcFunc-eq (+ (- (* 2 (var y = var-y)) (var x var-x)) (* 3 (var z var-z))) -3))) ((var x var-x) (var y = var-y) (var z var-z)) nil) math-solve-system((vec (calcFunc-eq (+ (- (* 2 (var x var-x)) (* 3 = (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x var-x) (var = y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 (var y var-y)) = (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x var-x) (var y = var-y) (var z var-z)) nil) calcFunc-solve((vec (calcFunc-eq (+ (- (* 2 (var x var-x)) (* 3 (var y = var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x var-x) (var y = var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 (var y var-y)) = (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x var-x) (var y = var-y) (var z var-z))) apply(calcFunc-solve ((vec (calcFunc-eq (+ (- (* 2 (var x var-x)) (* 3 = (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x var-x) (var = y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 (var y var-y)) = (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x var-x) (var y = var-y) (var z var-z)))) math-normalize((calcFunc-solve (vec (calcFunc-eq (+ (- (* 2 (var x = var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x = var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 = (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x = var-x) (var y var-y) (var z var-z)))) math-simplify((calcFunc-solve (vec (calcFunc-eq (+ (- (* 2 (var x = var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x = var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 = (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x = var-x) (var y var-y) (var z var-z)))) calc-normalize-fancy((calcFunc-solve (vec (calcFunc-eq (+ (- (* 2 (var = x var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var = x var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 = (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x = var-x) (var y var-y) (var z var-z)))) calc-normalize((calcFunc-solve (vec (calcFunc-eq (+ (- (* 2 (var x = var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x = var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 = (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x = var-x) (var y var-y) (var z var-z)))) math-evaluate-expr((calcFunc-solve (vec (calcFunc-eq (+ (- (* 2 (var x = var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- (+ (var x = var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ (- (* 2 = (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec (var x = var-x) (var y var-y) (var z var-z)))) mapcar(math-evaluate-expr ((calcFunc-solve (vec (calcFunc-eq (+ (- (* = 2 (var x var-x)) (* 3 (var y var-y))) (var z var-z)) 5) (calcFunc-eq (- = (+ (var x var-x) (var y var-y)) (* 2 (var z var-z))) 0) (calcFunc-eq (+ = (- (* 2 (var y var-y)) (var x var-x)) (* 3 (var z var-z))) -3)) (vec = (var x var-x) (var y var-y) (var z var-z))))) #f(compiled-function () #)() calc-do(#f(compiled-function () #) 126) calc-evaluate(1) funcall-interactively(calc-evaluate 1) call-interactively(calc-evaluate nil nil) command-execute(calc-evaluate)