bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Power Operator (⍣) broken at svn 740 ?


From: Juergen Sauermann
Subject: Re: [Bug-apl] Power Operator (⍣) broken at svn 740 ?
Date: Sun, 12 Jun 2016 11:28:01 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi Xtian,

the reason is that the arguments of the right function argument of ⍣
have different lengths and are therefore always unequal:

      FIB←{ 3↓ {⍵,+/¯2↑⍵}⍣{(↑⍵)≤¯3+⍴⍺ ⊣ ⎕←'debug:' (⍴⍵) 'vs' (⍴¯3+⍴⍺)} ⊢ ⍵, 0 1 }
      FIB 12
 debug:  3  vs  1
 debug:  4  vs  1
 debug:  5  vs  1
 debug:  6  vs  1
 debug:  7  vs  1
 debug:  8  vs  1
 debug:  9  vs  1
 debug:  10  vs  1
 debug:  11  vs  1
 debug:  12  vs  1
 debug:  13  vs  1
 debug:  14  vs  1
 debug:  15  vs  1
 debug:  16  vs  1
 debug:  17  vs  1
      ...


The power operator is now a macro which uses ≡ instead of ↑=
(which was sort of working, but wrong). The Dyalog manual says:

"The right argument  must be a dyadic function that returns a Boolean scalar",

which is not the case in your example (the right lambda returns a Boolean vcector).

You probably meant to do this instead:

      FIB←{ 3↓ {⍵,+/¯2↑⍵}⍣{ ↑⍵≤¯3+⍴⍺ ⊣ ⎕←'debug:' (↑⍵) 'vs' (¯3+⍴⍺)} ⊢ ⍵, 0 1 }
      FIB 12
 debug: 12 vs  1
 debug: 12 vs  2
 debug: 12 vs  3
 debug: 12 vs  4
 debug: 12 vs  5
 debug: 12 vs  6
 debug: 12 vs  7
 debug: 12 vs  8
 debug: 12 vs  9
 debug: 12 vs  10
 debug: 12 vs  11
 debug: 12 vs  12
1 2 3 5 8 13 21 34 55 89 144 233

/// Jürgen


On 06/12/2016 05:58 AM, Christian Robert wrote:
At svn 739:
-----------

address@hidden:/home/xtian] $ apl

                    ______ _   __ __  __    ___     ____   __
                   / ____// | / // / / /   /   |   / __ \ / /
                  / / __ /  |/ // / / /   / /| |  / /_/ // /
                 / /_/ // /|  // /_/ /   / ___ | / ____// /___
                 \____//_/ |_/ \____/   /_/  |_|/_/    /_____/

                     Welcome to GNU APL version 1.5 / 739

                Copyright (C) 2008-2015  Dr. Jürgen Sauermann
                       Banner by FIGlet: www.figlet.org

                This program comes with ABSOLUTELY NO WARRANTY;
                          for details run: apl --gpl.

     This program is free software, and you are welcome to redistribute it
         according to the GNU Public License (GPL) version 3 or later.

      )load test
SAVED 2016-06-11 23:48:15 (GMT-4)
      f←{3↓ {⍵,+/¯2↑⍵}⍣{(↑⍵)≤¯3+⍴⍺ ⊣ ⎕←('debug:') (↑⍵) ('vs') (¯3+⍴⍺)} ⊢ ⍵, 0 1}
      df
┌→─────────────────────────────────────────────────────────────────────────────┐
│┌→┐ ┌→───────────────────────────────────────────────────────────────────────┐│
││f│ ↓λ←λ1 ⍵                                                                  ││
│└─┘ │λ←3↓ {⍵,+/¯2↑⍵}⍣{(↑⍵)≤¯3+⍴⍺ ⊣ ⎕←('debug:') (↑⍵) ('vs') (¯3+⍴⍺)} ⊢ ⍵, 0 1││
│    └────────────────────────────────────────────────────────────────────────┘│
└∊─────────────────────────────────────────────────────────────────────────────┘
      f 26
 debug: 26 vs  1
 debug: 26 vs  2
 debug: 26 vs  3
 debug: 26 vs  4
 debug: 26 vs  5
 debug: 26 vs  6
 debug: 26 vs  7
 debug: 26 vs  8
 debug: 26 vs  9
 debug: 26 vs  10
 debug: 26 vs  11
 debug: 26 vs  12
 debug: 26 vs  13
 debug: 26 vs  14
 debug: 26 vs  15
 debug: 26 vs  16
 debug: 26 vs  17
 debug: 26 vs  18
 debug: 26 vs  19
 debug: 26 vs  20
 debug: 26 vs  21
 debug: 26 vs  22
 debug: 26 vs  23
 debug: 26 vs  24
 debug: 26 vs  25
 debug: 26 vs  26
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418
      )off

Goodbye.



At svn 740:
-----------

address@hidden:/home/xtian] $ apl

                    ______ _   __ __  __    ___     ____   __
                   / ____// | / // / / /   /   |   / __ \ / /
                  / / __ /  |/ // / / /   / /| |  / /_/ // /
                 / /_/ // /|  // /_/ /   / ___ | / ____// /___
                 \____//_/ |_/ \____/   /_/  |_|/_/    /_____/

                     Welcome to GNU APL version 1.5 / 740

                Copyright (C) 2008-2015  Dr. Jürgen Sauermann
                       Banner by FIGlet: www.figlet.org

                This program comes with ABSOLUTELY NO WARRANTY;
                          for details run: apl --gpl.

     This program is free software, and you are welcome to redistribute it
         according to the GNU Public License (GPL) version 3 or later.

      )load test
WARNING: this workspace was )SAVEd with SVN version  739
          but is now being )LOADed with SVN version  740
Expect problems, in particular when the )SI was not clear.
In case of problems, please try )COPY instead of )LOAD.
SAVED 2016-06-11 23:48:15 (GMT-4)
      df
┌→─────────────────────────────────────────────────────────────────────────────┐
│┌→┐ ┌→───────────────────────────────────────────────────────────────────────┐│
││f│ ↓λ←λ0 ⍵                                                                  ││
│└─┘ │λ←3↓ {⍵,+/¯2↑⍵}⍣{(↑⍵)≤¯3+⍴⍺ ⊣ ⎕←('debug:') (↑⍵) ('vs') (¯3+⍴⍺)} ⊢ ⍵, 0 1││
│    └────────────────────────────────────────────────────────────────────────┘│
└∊─────────────────────────────────────────────────────────────────────────────┘
      f 26
 debug: 26 vs  1
 debug: 26 vs  2
 debug: 26 vs  3
 debug: 26 vs  4
 debug: 26 vs  5
 debug: 26 vs  6
 debug: 26 vs  7
 debug: 26 vs  8
 debug: 26 vs  9
 debug: 26 vs  10
 debug: 26 vs  11
 debug: 26 vs  12
 debug: 26 vs  13
 debug: 26 vs  14
 debug: 26 vs  15
 debug: 26 vs  16
 debug: 26 vs  17
 debug: 26 vs  18
 debug: 26 vs  19
 debug: 26 vs  20
 debug: 26 vs  21
 debug: 26 vs  22
 debug: 26 vs  23
 debug: 26 vs  24
 debug: 26 vs  25
 debug: 26 vs  26
 debug: 26 vs  27
 debug: 26 vs  28
 debug: 26 vs  29
 debug: 26 vs  30
 debug: 26 vs  31
 debug: 26 vs  32
 debug: 26 vs  33
 debug: 26 vs  34
 debug: 26 vs  35
 debug: 26 vs  36
 debug: 26 vs  37
 debug: 26 vs  38
 debug: 26 vs  39
 debug: 26 vs  40
 debug: 26 vs  41
 debug: 26 vs  42
 debug: 26 vs  43
 debug: 26 vs  44
 debug: 26 vs  45
 debug: 26 vs  46
 debug: 26 vs  47
 debug: 26 vs  48
 debug: 26 vs  49
 debug: 26 vs  50
 debug: 26 vs  51
 debug: 26 vs  52
 debug: 26 vs  53
 debug: 26 vs  54
 debug: 26 vs  55
 debug: 26 vs  56
 debug: 26 vs  57
 debug: 26 vs  58
 debug: 26 vs  59
 debug: 26 vs  60
 debug: 26 vs  61
 debug: 26 vs  62
 debug: 26 vs  63
 debug: 26 vs  64
 debug: 26 vs  65
 debug: 26 vs  66
 debug: 26 vs  67
 debug: 26 vs  68
 debug: 26 vs  69
 debug: 26 vs  70
 debug: 26 vs  71
 debug: 26 vs  72
 debug: 26 vs  73
 debug: 26 vs  74
 debug: 26 vs  75
 debug: 26 vs  76
 debug: 26 vs  77
 debug: 26 vs  78
 debug: 26 vs  79
 debug: 26 vs  80
 debug: 26 vs  81
 debug: 26 vs  82
 debug: 26 vs  83
 debug: 26 vs  84
 debug: 26 vs  85
 debug: 26 vs  86
 debug: 26 vs  87
 debug: 26 vs  88
 debug: 26 vs  89
 debug: 26 vs  90
 debug: 26 vs  91
 debug: 26 vs  92
 debug: 26 vs  93
 debug: 26 vs  94
 debug: 26 vs  95
 debug: 26 vs  96
 debug: 26 vs  97
 debug: 26 vs  98
 debug: 26 vs  99
 debug: 26 vs  100
[... and continue until WS_FULL ...]


reply via email to

[Prev in Thread] Current Thread [Next in Thread]