Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
languagetcl
objarray set <obj> {<value_1> ... <value_n>}|<index> <value> | -binary <data>

objarray set <obj> <index> <value>

Set the value of the item $index (from 0 to n-1) with the value $value, or

The value could be the special string “NaN” (not a number) or “Inf” (infinite)

<value> could be a single number or a list of multiple numbers (to set the values of index, index+1, …)

To set some index the array space must be allocated previously with a size greater of the index.

objarray set <obj> {<value_1> ... <value_n>}

Set all values from a list {value_1 ... value_n}. To set some index the array space must be allocated previously with a size greater of the index

In fact instead the list could be another objarray of the same length (can be of other type, a casting will be done for each item).

objarray set <obj> -binary <data>

copy directly the bytes of <data>, for example to store the data of an image.

e.g.

Code Block
languagetcl
set obj [objarray new intarray 3 0]
# -> 0 0 0
objarray set $obj {6 3 8}
# -> 6 3 8

# in floating point arrays, 'nan' values are also allowed
set oa [ objarray new doublearray 104 nan]
# --> NaN(7ffffffffffff) NaN(7ffffffffffff) NaN(7ffffffffffff) NaN(7ffffffffffff)
objarray set $oa 0 0.123
# --> nan nan nan 0.123 NaN(7ffffffffffff) NaN(7ffffffffffff) NaN(7ffffffffffff)
objarray set $oa 0 nan
nan# nan nan nan nan nan--> NaN(7ffffffffffff) NaN(7ffffffffffff) NaN(7ffffffffffff) NaN(7ffffffffffff)
objarray set $oa 3 0.123
--> nan nan nan 0.123 nan nan nan nan nan nan
objarray set $oa 3 nan
--> nan nan nan nan nan nan nan nan nan nan 0 {0 1 2}
# --> 0 1 2 NaN(7ffffffffffff)

set oa [ objarray new_from_to intarray 1 10]
# --> 1 2 3 4 5 6 7 8 9 10
set obj [objarray new intarray -values {5 6 7 8}] 
# --> 5 6 7 8
objarray set $oa -binary [objarray get_binary $obj]]
# --> 5 6 7 8

set oa [ objarray new_from_to doublearray 1 10]
# --> 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
objarray set $oa -binary [objarray get_binary $obj]]
# --> 1.27319747483e-313 1.6975966331e-313