Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.forth    |    Forth programmers eat a lot of Bratwurst    |    117,927 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 116,459 of 117,927    |
|    NN to Krishna Myneni    |
|    Re: convenient stack operation: a b c --    |
|    04 May 24 16:14:08    |
      From: november.nihal@gmail.com              On 30/11/2023 6:55 pm, Krishna Myneni wrote:       > I'm in need of a convenient way to do the following for the fp stack,       > but we can pose the problem for the data stack:       >       > a b c -- b a c       >       > Two ways to do this on the data stack are       >       > ROT SWAP       >       > >R SWAP R>       >       > ( the latter can't be done from the interpreter, portably at least ).       >       > Is there a word I'm not remembering to perform this operation? If not       > what name would one give to this stack operation?       >       > SWAP-UNDER       > ROTSWAP       > RISE       >       > For fp stack manipulation, I had posted mostly portable code for F>R and       > FR> to push and pop from the floating point stack to/from the return       > stack. A significant reason for suggesting the F>R FR> pair is to deal       > with this situation where having to use FROT FSWAP would be inefficient       > on non-analytic compilers.       >       > Maybe a generic swap operation at depth u, called RISE, is useful e.g.       >       >       > 0 RISE \ same as SWAP       > 1 RISE \ i*x a b c -- i*x b a c       > 2 RISE \ i*x a b c d -- i*x b a c d       > etc.       >       >       > Comments?       >       > --       > Krishna Myneni       >                     Since no one suggested it, in factor they have called it swapd ( x y z       -- y x z )              https://docs.factorcode.org/content/word-swapd%2Ckernel.html              Using the same convention you could call it fswapd for operating on the       floating stack.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca