OsListSortInPlace

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
Line 12: Line 12:
 
i.e. if the element at [n * stride] is moved to [m * stride], elements [n * stride + i] are moved to [m * stride + i] for i = 1 to stride -1 (n m and i integers).<br>
 
i.e. if the element at [n * stride] is moved to [m * stride], elements [n * stride + i] are moved to [m * stride + i] for i = 1 to stride -1 (n m and i integers).<br>
 
- if there are different object types (ie some are integer, others string, etc) at the consider indexes [n * stride], each type is considered as a sub list and each list is sorted.<br>
 
- if there are different object types (ie some are integer, others string, etc) at the consider indexes [n * stride], each type is considered as a sub list and each list is sorted.<br>
[1,"D",-4,"A","B"] will be [-4,"A",1,"B","D"], in ascending sort.<br>
+
[1,"D",-4,"A","B"] will be [-4,"A",1,"B","D"], in ascending sort and stride 1.<br>
 
+
- Lists with stride 1 and elements all of some tipe are a lot faster to sort than others, because in that case faster algorithms can be used.
 
|additional_info=This function was added in 0.9.2
 
|additional_info=This function was added in 0.9.2
 
}}
 
}}

Revision as of 16:50, 1 June 2021

osListSortInPlace(list src, integer stride, integer ascending)
Identical to llListSort but does the sort on the original list, so using less memory.
  • src: the list to sort
  • stride: the list stride.
  • ascending: it it is 1, sort in ascending order. If it is any other value, sort in descendent order.

- Does nothing if the list length is not a multiple of stride.
- The sort considers the elements that are at indexes that are multiple of stride. The other elements between those multiples are just copied around.
i.e. if the element at [n * stride] is moved to [m * stride], elements [n * stride + i] are moved to [m * stride + i] for i = 1 to stride -1 (n m and i integers).
- if there are different object types (ie some are integer, others string, etc) at the consider indexes [n * stride], each type is considered as a sub list and each list is sorted.
[1,"D",-4,"A","B"] will be [-4,"A",1,"B","D"], in ascending sort and stride 1.
- Lists with stride 1 and elements all of some tipe are a lot faster to sort than others, because in that case faster algorithms can be used.

Threat Level This function does not do a threat level check
Permissions Use of this function is always allowed by default
Extra Delay 0 seconds
Notes
This function was added in 0.9.2


Personal tools
General
About This Wiki