ftslice — Copy a slice from an f-table to another f-table at performance


Plugin opcode in emugens.

The ftslice opcode takes an f-table and copies a slice to a second f-table (similar to tab2array, but between tables). This action is done at performance (every cycle), so that it can be placed inside a k-time if clause / loop / etc. For an init-only version, see ftslicei


ftslice ifnsource, ifndest [, kstart, kend, kstep ]
ftslice kfnsource, kfndest [, kstart, kend, kstep ]


ifnsource -- The table number to copy data from

ifndest -- The table number to copy data to


kstart -- The index to start copying from. Defaults to 0

kend -- The end index to stop copying. This is NOT inclusive. 0 means copy to the end of the table. Defaults to end of table

kstep -- How many elements to skip. Defaults to 1


Here is an example of the ftslice opcode. It uses the file ftslice.csd.

Example 401. Example of the ftslice opcode.


; Example file ftslice



Copy slice from source table to destination table


ftslice ifnsource, ifndest, kstart=0, kend=0, kstep=1

ifnsource: source table
ifndest: destination table
kstart: the index to start copying from
kend: the end index to stop copying. This is NOT inclusive. 0=end of table
kstep: how many elements to skip

See also: tablecopy, tableicopy, tab2array

instr 1
  ifn   ftgentmp 0, 0, -13, -2,  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
  idest ftgentmp 0, 0, -11, -2,  0   ; empty table of size 11

  ; copy only even elements
  ftslice ifn, idest, 0, 0, 2
  ftprint idest

  ; copy too many elements - only the elements which fit in the dest table
  ; are copyed

  ftslice ifn, idest
  ftprint idest  


i 1 0   0.1


See Also

ftslicei, ftset, slicearray, copyf2array, tab2array, tablecopy, tableicopy, ftprint


By: Eduardo Moguillansky 2018

New plugin in version 6.12