I suspect that this is because you are running a very old ksh93.  Here is
what I get on ubuntu linux x86_63.13.0-30-generic4  release .

$ print $(( log(2.171828) ))
0.775569209249095711
$ print $(( log(2000000.0) / log(2.171828) ))
18.7071090052317417
$ print $(( log(2000000.0) / log(2) ))
20.9315685693241741
$ print $(( log(2000000.0) / log(3) ))
13.2063493993077651
$ typeset -F a=2000000
$ typeset -F b=2.71828
$ print $(( log(a) / log(b) ))
14.5086674978188462
$ print $a $b
2000000.0000000000000 2.7182800000000
$ typeset -F b=3.0
$ print $(( log(a) / log(b) ))
13.2063493993077651
$ printf "%f\n" $(( log(a) / log(b) ))
13.206349
$ typeset -F b=3.1
$ printf "%f\n" $(( log(a) / log(b) ))
12.823609
$ ksh --version
  version         sh (AT&T Research) 93v- 2014-06-06



On Wed, Jun 25, 2014 at 3:59 PM, Janis Papanagnou <
janis_papanag...@hotmail.com> wrote:

> I've just noticed something strange with real number arithmetic in ksh.
> The problem:
> It seems that the fractional part in a division is interpreted as integer.
>
> $ print $(( log(2.171828) ))
> 0.775569209249095711
>
> $ print $(( log(2000000.0) / log(2.171828) ))
> ksh:  log(2000000.0) / log(2.171828) : divide by zero
>
> $ print $(( log(2000000.0) / log(2) ))
> ksh:  log(2000000.0) / log(2) : divide by zero
>
> $ print $(( log(2000000.0) / log(3) ))
> 14
>
> $ typeset -F a=2000000
> $ typeset -F b=2.71828
> $ print $(( log(a) / log(b) ))
> ksh:  log(a) / log(b) : divide by zero
>
> $ print $a $b
> 2000000.0000000000 2.7182800000
>
>
> $ typeset -F b=3.0
> $ print $(( log(a) / log(b) ))
> 14
>
> $ printf "%f\n" $(( log(a) / log(b) ))
> 14.000000
>
> $ typeset -F b=3.1
> $ printf "%f\n" $(( log(a) / log(b) ))
> 14.000000
>
>
> $ ksh --version
>   version         sh (AT&T Research) 93t+ 2010-03-05
>
> All done in the LC_ALL=C locale. On a Linux 2.6 platform.
>
>
> Am I doing something wrong or is this some shell issue?
>
> Thanks!
>
>
> _______________________________________________
> ast-users mailing list
> ast-users@lists.research.att.com
> http://lists.research.att.com/mailman/listinfo/ast-users
>
>
_______________________________________________
ast-users mailing list
ast-users@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-users

Reply via email to