From: Daniele Nicolodi <daniele@grinta.net>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] org-table: Add mode flag to enable Calc units simplification mode
Date: Tue, 20 Oct 2020 16:53:21 +0200 [thread overview]
Message-ID: <3877b93f-4af3-87a4-92de-6938dd0cfdf0@grinta.net> (raw)
In-Reply-To: <b5f1933a-3a7f-be80-04a2-916427dda169@grinta.net>
On 20/10/2020 16:32, Daniele Nicolodi wrote:
> On 20/10/2020 16:19, Eric S Fraga wrote:
>> Hello again,
>>
>> Following up on myself. I'm seeing some strange behaviour although unit
>> calculations are working nicely. For instance, this table:
>>
>> #+begin_src org
>> | stream | a | b | c | total | x_a | x_b | x_c |
>> | | <l> | <l> | <l> | <l> | <r> | <r> | <r> |
>> |----------+--------------+--------------+--------------+--------------+-------+-------+-------|
>> | feed | 1.05 mol/s | 1.05 mol/s | | 2.10 mol / s | 0.500 | 0.500 | 0 |
>> | effluent | 0.74 mol / s | 0.74 mol / s | 0.32 mol / s | 1.80 mol / s | 0.411 | 0.411 | 0.178 |
>> ,#+TBLFM: $5=vsum($2..$4);uf2::$6=$2/$5;uf3::$7=$3/$5;uf3::$8=$4/$5;uf3::@4$2=(1-0.3)*@-1;uf2::@4$3=(1-0.3)*@-1;uf2::@4$4=@-1+0.3*@-1$-1;uf2
>> #+end_src
>>
>> does not seem to pay attention to the f3 mode in the last column, first
>> data row.
>
> It is something related to how Calc computes the result. The f2 mode
> specifies the formatting for floating point values, however it seems
> that Calc treats the zero (from the missing value in the fourth column)
> divided by a float (from the value in the fifth column) as an integer
> and not as a float. This may be because the org substitutes a "0" for
> the missing value, thus an integer. Still, I am not sure dividing an
> integer by a float should result in an integer (I guess zero is special
> cased here).
>
> If you change the formula for that field to:
>
> #+TBLFM: $8=$4*1.0/$5;uf3
>
> to force the $4 field to be evaluated as a float (there are other ways
> to get the same effect) you get the expected result (I think).
There are other funny Calc behaviors: if an expression results in a
number with an unit where the numerical part is exactly 1, the printed
result looses the numerical part and only the units are printed.
Cheers,
Dan
next prev parent reply other threads:[~2020-10-20 14:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-19 15:38 Bug in org-table--set-calc-mode? Daniele Nicolodi
2020-10-20 13:30 ` [PATCH] org-table: Add mode flag to enable Calc units simplification mode Daniele Nicolodi
2020-10-20 13:44 ` Eric S Fraga
2020-10-20 14:00 ` Daniele Nicolodi
2020-10-20 14:22 ` Eric S Fraga
2020-10-20 14:19 ` Eric S Fraga
2020-10-20 14:32 ` Daniele Nicolodi
2020-10-20 14:53 ` Daniele Nicolodi [this message]
2020-10-20 15:35 ` Eric S Fraga
2020-10-20 15:35 ` Eric S Fraga
2020-10-21 15:57 ` Daniele Nicolodi
-- strict thread matches above, loose matches on Subject: below --
2020-10-24 15:33 Daniele Nicolodi
2020-11-07 14:03 ` Daniele Nicolodi
2020-11-19 5:58 ` Kyle Meyer
2020-11-19 20:02 ` Daniele Nicolodi
2020-11-23 3:14 ` Kyle Meyer
2020-11-23 10:22 ` Daniele Nicolodi
2020-11-23 22:27 ` Kyle Meyer
2020-11-24 0:03 ` Daniele Nicolodi
2020-11-24 5:35 ` Kyle Meyer
2020-11-24 8:05 ` Daniele Nicolodi
2020-11-25 2:07 ` Kyle Meyer
2020-11-25 7:41 ` Christian Moe
2020-11-23 10:25 ` Daniele Nicolodi
2020-11-23 22:25 ` Kyle Meyer
2020-11-23 23:01 ` Daniele Nicolodi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3877b93f-4af3-87a4-92de-6938dd0cfdf0@grinta.net \
--to=daniele@grinta.net \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).