sam

package module
v0.0.0-...-163d9ce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2020 License: Apache-2.0 Imports: 9 Imported by: 6

README

slices and maps or sam package

Wrapper for maps & slices with helpful methods that can simplify and speedup writing code.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	BoolType    = fmt.Sprint(reflect.TypeOf(true))
	Float64Type = fmt.Sprint(reflect.TypeOf(float64(1)))
	StringType  = fmt.Sprint(reflect.TypeOf(""))
	Int64Type   = fmt.Sprint(reflect.TypeOf(int64(1)))
)
View Source
var (
	ErrBounds = errors.New("index out of bounds")
)

Functions

This section is empty.

Types

type MapFloat64Int

type MapFloat64Int map[float64]int

MapFloat64Int uses float64s as keys and integers as values.

func (MapFloat64Int) AverageCount

func (m MapFloat64Int) AverageCount() int

AverageCount will iterate over the map and return the average integer value.

func (MapFloat64Int) Increment

func (m MapFloat64Int) Increment(f float64)

Increment will add 1 to the integer value of the provided float64 key.

func (MapFloat64Int) Max

func (m MapFloat64Int) Max() float64

Max will return the key with the largest integer value.

type MapIntFloat64

type MapIntFloat64 map[int]float64

MapIntFloat64 uses integers as keys and float64s as values.

func (MapIntFloat64) Max

func (m MapIntFloat64) Max() (index int)

Max will return the integer key with the largest float64 value.

func (MapIntFloat64) MaxN

func (m MapIntFloat64) MaxN(n int) MapIntFloat64

MaxN will return a MapIntFloat64 containing the N largest key/value pairs by value.

func (MapIntFloat64) MaxValue

func (m MapIntFloat64) MaxValue() float64

MaxValue will return the largest float64 value in the map.

func (MapIntFloat64) Min

func (m MapIntFloat64) Min() (index int)

Min will return the integer key with the smallest float64 value.

func (MapIntFloat64) MinValue

func (m MapIntFloat64) MinValue() float64

MinValue will return the smallest float64 value in the map.

type MapIntInt

type MapIntInt map[int]int

MapIntInt can be built by simply calling make(MapIntInt).

func (MapIntInt) Contains

func (m MapIntInt) Contains(key int) bool

Contains will check if the map contains a key.

func (MapIntInt) Increment

func (m MapIntInt) Increment(key int)

Increment will add 1 to the integer value found at the provided key.

func (MapIntInt) Keys

func (m MapIntInt) Keys() (keys []int)

Keys will return the slice of all keys found in the map.

func (MapIntInt) MaxValue

func (m MapIntInt) MaxValue() (key int, value int)

MaxValue will return he largest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapIntInt) MinValue

func (m MapIntInt) MinValue() (key int, value int)

MinValue will return the smallest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapIntInt) Values

func (m MapIntInt) Values() (values []int)

Values will return the slice of all values found in the map.

type MapIntSliceInt

type MapIntSliceInt map[int]SliceInt

MapIntSliceInt uses integer values as a key and a slice of integers as values.

func (MapIntSliceInt) Add

func (m MapIntSliceInt) Add(i int)

Add ...

func (MapIntSliceInt) AddWithLength

func (m MapIntSliceInt) AddWithLength(i, length int)

AddWithLength ...

func (MapIntSliceInt) AppendSlice

func (m MapIntSliceInt) AppendSlice(i, value int)

AppendSlice ...

func (MapIntSliceInt) IncrementSliceValue

func (m MapIntSliceInt) IncrementSliceValue(i, value, position int)

IncrementSliceValue ...

func (MapIntSliceInt) InsertSliceValue

func (m MapIntSliceInt) InsertSliceValue(i, value, position int)

InsertSliceValue ...

func (MapIntSliceInt) MustAppend

func (m MapIntSliceInt) MustAppend(i, value int)

MustAppend will create the integer key if it does not already exist, and otherwise append the value to it's slice.

type MapStringFloat64

type MapStringFloat64 map[string]float64

MapStringFloat64 can be built by simply calling make(MapStringFloat64).

func (MapStringFloat64) Contains

func (m MapStringFloat64) Contains(s string) bool

Contains will return whether or not a key exists in the map.

func (MapStringFloat64) Increment

func (m MapStringFloat64) Increment(key string)

Increment will add 1 to the float64 value found at the provided key.

func (MapStringFloat64) Keys

func (m MapStringFloat64) Keys() (keys SliceString)

Keys will return the slice of all keys found in the map.

func (MapStringFloat64) KeysAndValues

func (m MapStringFloat64) KeysAndValues() (keys SliceString, values SliceFloat64)

KeysAndValues will return two ordered sets of keys and values that are aligned by slice index.

func (MapStringFloat64) MaxValue

func (m MapStringFloat64) MaxValue() (key string, value float64)

MaxValue will return the largest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapStringFloat64) MinValue

func (m MapStringFloat64) MinValue() (key string, value float64)

MinValue will return the smallest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapStringFloat64) Values

func (m MapStringFloat64) Values() (values SliceFloat64)

Values will return the slice of all values found in the map.

type MapStringInt

type MapStringInt map[string]int

MapStringInt can be built by simply calling make(MapStringInt).

func (MapStringInt) Contains

func (m MapStringInt) Contains(s string) bool

Contains will return whether or not a key exists in the map.

func (MapStringInt) Increment

func (m MapStringInt) Increment(key string)

Increment will add 1 to the integer value found at the provided key.

func (MapStringInt) Keys

func (m MapStringInt) Keys() (keys SliceString)

Keys will return the slice of all keys found in the map.

func (MapStringInt) KeysAndValues

func (m MapStringInt) KeysAndValues() (keys SliceString, values SliceInt)

KeysAndValues will return two ordered sets of keys and values that are aligned by slice index.

func (MapStringInt) MaxValue

func (m MapStringInt) MaxValue() (key string, value int)

MaxValue will return the largest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapStringInt) MinValue

func (m MapStringInt) MinValue() (key string, value int)

MinValue will return the smallest value and it's key. The key is the first result returned. And the value is the second result returned.

func (MapStringInt) Values

func (m MapStringInt) Values() (values SliceInt)

Values will return the slice of all values found in the map.

type Slice

type Slice interface {
	Equal(interface{}) bool
	Get(int) interface{}
	Len() int
	Set(int, interface{})
	Type() string
	Subslice(start, end int) Slice
}

Slice is a generic interface that can be used to represent any slice type. Current primary use is for external packages.

type SliceBool

type SliceBool []bool

SliceBool is a slice/array of boolean values.

func (SliceBool) Equal

func (s SliceBool) Equal(element interface{}) bool

Equal will check if SliceBool is equal to provided object.

func (SliceBool) FalseCount

func (s SliceBool) FalseCount() (count int)

FalseCount will return the total number of false values in the boolean slice.

func (SliceBool) FalseIndices

func (s SliceBool) FalseIndices() SliceInt

FalseIndices will return the list of all indices in the slice that have a false value.

func (SliceBool) FalsePercentage

func (s SliceBool) FalsePercentage() float64

FalsePercentage will return the percentage of values that are false.

func (SliceBool) Get

func (s SliceBool) Get(index int) interface{}

Get is just a function version of what can be done more easily with `[index]`.

func (SliceBool) Len

func (s SliceBool) Len() int

Len will return the length of the boolean slice as an integer.

func (SliceBool) Set

func (s SliceBool) Set(index int, input interface{})

Set is just a function version of what can be done more easily with `[index]`.

func (SliceBool) Subslice

func (s SliceBool) Subslice(start, end int) Slice

Subslice is just to satisfy the slice interface.

func (SliceBool) TrueCount

func (s SliceBool) TrueCount() (count int)

TrueCount will return the total number of true values in the boolean slice.

func (SliceBool) TrueIndices

func (s SliceBool) TrueIndices() SliceInt

TrueIndices will return the list of all indices in the slice that have a true value.

func (SliceBool) TruePercentage

func (s SliceBool) TruePercentage() float64

TruePercentage will return the percentage of values that are true.

func (SliceBool) Type

func (s SliceBool) Type() string

Type will return the type name of the values stored

type SliceFloat64

type SliceFloat64 []float64

SliceFloat64 is the primary data structure for holding numerical data.

func (SliceFloat64) AverageDeviation

func (s SliceFloat64) AverageDeviation() float64

AverageDeviation ...

func (SliceFloat64) Avg

func (s SliceFloat64) Avg() float64

Avg will return the mean of the values in the slice.

func (SliceFloat64) BoundedSum

func (s SliceFloat64) BoundedSum(bound float64) int

BoundedSum will return the final index at which the sum of the values is greater than or equal to the given bound.

func (SliceFloat64) Bounds

func (s SliceFloat64) Bounds() (min float64, max float64)

Bounds will return the maximum and minimum values in the slice.

func (SliceFloat64) ConsecutiveSequences

func (s SliceFloat64) ConsecutiveSequences(length int) [][]float64

ConsecutiveSequences returns all sequences collected where stride = length

func (SliceFloat64) Contains

func (s SliceFloat64) Contains(f float64) bool

Contains is technically equivalent to the EqualTo method. It simply resolves faster iff the slice actually contains the supplied argument. Use this method for better best-case performance and a guaranteed smaller memory footprint.

func (SliceFloat64) Counts

func (s SliceFloat64) Counts() MapFloat64Int

Counts ...

func (SliceFloat64) Equal

func (s SliceFloat64) Equal(element interface{}) bool

Equal ...

func (SliceFloat64) EqualTo

func (s SliceFloat64) EqualTo(value float64) (indices []int, count int, percentage float64)

EqualTo will return the indices, total count, and percentage of slice of the float64 numbers which are equal to the supplied float64 argument.

func (SliceFloat64) EqualToSlice

func (s SliceFloat64) EqualToSlice(s2 SliceFloat64) bool

EqualToSlice will check if two SliceFloat64s are the same length and have the same values in the same order.

func (SliceFloat64) Extrema

func (s SliceFloat64) Extrema() (extrema map[int]float64)

Extrema ...

func (SliceFloat64) ExtremaDistances

func (s SliceFloat64) ExtremaDistances() (distances SliceFloat64)

ExtremaDistances ...

func (SliceFloat64) Get

func (s SliceFloat64) Get(index int) interface{}

Get is just a function version of what can be done more easily with `[index]`.

func (SliceFloat64) GreaterThan

func (s SliceFloat64) GreaterThan(value float64) (indices []int, count int, percentage float64)

GreaterThan will return the indices, total count, and percentage of slice of the float64 numbers which are greater than the supplied float64 argument.

func (SliceFloat64) IsNum

func (s SliceFloat64) IsNum() SliceFloat64

IsNum will convert any non-numerical values in the slice into a numerical value (0) and return a new slice.

func (SliceFloat64) IsZeroed

func (s SliceFloat64) IsZeroed() bool

IsZeroed ...

func (SliceFloat64) Len

func (s SliceFloat64) Len() int

Len ...

func (SliceFloat64) Less

func (s SliceFloat64) Less(i, j int) bool

Less ...

func (SliceFloat64) LessThan

func (s SliceFloat64) LessThan(value float64) (indices []int, count int, percentage float64)

LessThan will return the indices, total count, and percentage of slice of the float64 numbers which are less than the supplied float64 argument.

func (SliceFloat64) MajorityZero

func (s SliceFloat64) MajorityZero() bool

MajorityZero will return true iff the number of zeros in the data is greater than half of the values.

func (SliceFloat64) Max

func (s SliceFloat64) Max() float64

Max will return the largest value in the slice.

func (SliceFloat64) MaxIndex

func (s SliceFloat64) MaxIndex() (index int)

MaxIndex will return the index of the maximum float64 value

func (SliceFloat64) MaxN

func (s SliceFloat64) MaxN(n int) SliceFloat64

MaxN will return a []float64 of the largest-N values in the slice.

func (SliceFloat64) MaxNWithIndex

func (s SliceFloat64) MaxNWithIndex(n int) MapIntFloat64

MaxNWithIndex will return a map[int]float64 of the largest-N values and the index that they reside at: map[index]value

func (SliceFloat64) MeanCrossingRate

func (s SliceFloat64) MeanCrossingRate() float64

MeanCrossingRate ...

func (SliceFloat64) Median

func (s SliceFloat64) Median() (index int, value float64)

Median ...

func (SliceFloat64) Min

func (s SliceFloat64) Min() float64

Min ...

func (SliceFloat64) MinIndex

func (s SliceFloat64) MinIndex() (int, float64)

MinIndex ...

func (SliceFloat64) Mode

func (s SliceFloat64) Mode() float64

Mode ...

func (SliceFloat64) MultiplyBy

func (s SliceFloat64) MultiplyBy(x float64)

MultiplyBy will mutliply all values in the slice by the value provided.

func (SliceFloat64) NonZeroBounds

func (s SliceFloat64) NonZeroBounds() (min float64, max float64)

NonZeroBounds will return the non-zero values which are the minimum and maximum values in the slice. But, if slice is zeroed, then it will return 0 for both min and max.

func (SliceFloat64) NonZeroValues

func (s SliceFloat64) NonZeroValues() SliceFloat64

NonZeroValues ...

func (SliceFloat64) OverlappingSequences

func (s SliceFloat64) OverlappingSequences(length int) [][]float64

OverlappingSequences are sequences where stride = 1

func (SliceFloat64) PeakCount

func (s SliceFloat64) PeakCount() (peaks int)

PeakCount ...

func (SliceFloat64) PeakDistances

func (s SliceFloat64) PeakDistances() (distances SliceFloat64)

PeakDistances ...

func (SliceFloat64) Peaks

func (s SliceFloat64) Peaks() (peaks map[int]float64)

Peaks ...

func (SliceFloat64) Range

func (s SliceFloat64) Range() float64

Range ...

func (SliceFloat64) RescaleValues

func (s SliceFloat64) RescaleValues() (min, max float64)

RescaleValues will rescale the values to either [0,1] or [-1,1] range. It returns the min and max values found in the scalar slice.

func (SliceFloat64) SampleAmount

func (s SliceFloat64) SampleAmount(amount int) SliceFloat64

SampleAmount will return a random sample of count `amount`.

func (SliceFloat64) SamplePercentage

func (s SliceFloat64) SamplePercentage(percentage float64) SliceFloat64

SamplePercentage will return a random sampling of the slice based on the percentage value. Percentage values must be between 0 and 1.

func (SliceFloat64) SequenceSample

func (s SliceFloat64) SequenceSample(length int) SliceFloat64

SequenceSample will return a randomly sampled sequence from the slice.

func (SliceFloat64) Sequences

func (s SliceFloat64) Sequences(length, stride int) [][]float64

Sequences will return all sub-arrays of the total array of the length argument, and seperated by the stride argument

func (SliceFloat64) Set

func (s SliceFloat64) Set(index int, input interface{})

Set is just a function version of what can be done more easily with `[index]`.

func (SliceFloat64) ShiftLogScaleValues

func (s SliceFloat64) ShiftLogScaleValues() (shift float64)

ShiftLogScaleValues ...

func (SliceFloat64) SimilarTo

func (s SliceFloat64) SimilarTo(s2 SliceFloat64) bool

SimilarTo will check if two SliceFloat64s are the same length and contain the same elements (but not necessarily in the same order).

func (SliceFloat64) StrictlyNegative

func (s SliceFloat64) StrictlyNegative() bool

StrictlyNegative ...

func (SliceFloat64) StrictlyPositive

func (s SliceFloat64) StrictlyPositive() bool

StrictlyPositive ...

func (SliceFloat64) Subslice

func (s SliceFloat64) Subslice(start, end int) Slice

Subslice is just to satisfy the slice interface

func (SliceFloat64) Sum

func (s SliceFloat64) Sum() (sum float64)

Sum will return the sum of all the values in the SliceFloat64.

func (SliceFloat64) Swap

func (s SliceFloat64) Swap(i, j int)

Swap ...

func (SliceFloat64) Type

func (s SliceFloat64) Type() string

Type will return the type of the values found in this slice.

func (SliceFloat64) ValleyCount

func (s SliceFloat64) ValleyCount() (vallies int)

ValleyCount ...

func (SliceFloat64) ValleyDistances

func (s SliceFloat64) ValleyDistances() (distances SliceFloat64)

ValleyDistances ...

func (SliceFloat64) Vallies

func (s SliceFloat64) Vallies() (vallies map[int]float64)

Vallies ...

func (SliceFloat64) ZeroCrossingRate

func (s SliceFloat64) ZeroCrossingRate() float64

ZeroCrossingRate counts the number of times the slice is above 0 and then below zero (in index order), or vice versa. Consider calling ZeroingRate method instead.

func (SliceFloat64) ZeroHittingRate

func (s SliceFloat64) ZeroHittingRate() float64

ZeroHittingRate is used for when the data is either strictly positive or strictly negative. Consider calling ZeroingRate method instead.

func (SliceFloat64) ZeroingRate

func (s SliceFloat64) ZeroingRate() (rate float64)

ZeroingRate should be called instead of ZeroCrossingRate or ZeroHittingRate, as it will automatically choose the best function to use and return the result.

type SliceInt

type SliceInt []int

SliceInt is a slice/array of integers

func (SliceInt) Contains

func (s SliceInt) Contains(i int) bool

Contains checks if an integer value already exists in the slice.

func (SliceInt) IncrementPosition

func (s SliceInt) IncrementPosition(index int)

IncrementPosition will add 1 to the integer value found at the supplied index argument.

func (SliceInt) Max

func (s SliceInt) Max() (index int)

Max will return the index of the largest value in the slice.

func (SliceInt) Min

func (s SliceInt) Min() (index, value int)

Min will return the index and the value of the smallest value in the slice.

func (SliceInt) Product

func (s SliceInt) Product() int

Product will return the total product of all values in the slice.

func (SliceInt) Sum

func (s SliceInt) Sum() int

Sum will return the total sum of all values in the slice.

type SliceInt64

type SliceInt64 []int64

SliceInt64 is a slice/array of integers

func (SliceInt64) Contains

func (s SliceInt64) Contains(i int64) bool

Contains checks if an integer value already exists in the slice.

func (SliceInt64) Equal

func (s SliceInt64) Equal(input interface{}) bool

Equal will only return true if the object is a SliceInt64 of the same length and has smae values in the same positions.

func (SliceInt64) Get

func (s SliceInt64) Get(idx int) interface{}

Get will return the int64 value at the specified index

func (SliceInt64) IncrementPosition

func (s SliceInt64) IncrementPosition(index int)

IncrementPosition will add 1 to the integer value found at the supplied index argument.

func (SliceInt64) Len

func (s SliceInt64) Len() int

Len will return the length of the SliceInt64

func (SliceInt64) Max

func (s SliceInt64) Max() (index int)

Max will return the index of the largest value in the slice.

func (SliceInt64) Min

func (s SliceInt64) Min() (index int, value int64)

Min will return the index and the value of the smallest value in the slice.

func (SliceInt64) Product

func (s SliceInt64) Product() int64

Product will return the total product of all values in the slice.

func (SliceInt64) Set

func (s SliceInt64) Set(idx int, value interface{})

Set will set the provided value at the provided index

func (SliceInt64) Subslice

func (s SliceInt64) Subslice(start, end int) Slice

Subslice will return a new SliceInt64 that is a subslice of this SliceInt64

func (SliceInt64) Sum

func (s SliceInt64) Sum() int64

Sum will return the total sum of all values in the slice.

func (SliceInt64) Type

func (s SliceInt64) Type() string

Type will return an Int64Type value for SliceInt64 objects

type SliceString

type SliceString []string

SliceString is a slice/array of strings.

func (SliceString) Contains

func (s SliceString) Contains(input string) bool

Contains will check if the slice contains the supplied string argument.

func (SliceString) Equal

func (s SliceString) Equal(input interface{}) bool

Equal will check if the string slice is equal to the supplied object argument and return a boolean. It can check for equality against any (arbitrary) argument.

func (SliceString) Get

func (s SliceString) Get(idx int) interface{}

func (SliceString) Len

func (s SliceString) Len() int

Len ...

func (SliceString) Less

func (s SliceString) Less(i, j int) bool

Less provides lexicographic sorting. Original code: https://stackoverflow.com/a/35087122

func (SliceString) Set

func (s SliceString) Set(idx int, value interface{})

func (SliceString) SortedString

func (s SliceString) SortedString(delimeter string) string

SortedString will lexicographically sort the strings in the slice and return them as a single string delimited by the supplied delimieter argument.

func (SliceString) String

func (s SliceString) String(delimeter string) string

String will convert the string slice into a single string, with each string being delimited by the supplied delimiter.

func (SliceString) Subslice

func (s SliceString) Subslice(start, end int) Slice

func (SliceString) Swap

func (s SliceString) Swap(i, j int)

Swap ...

func (SliceString) ToLower

func (s SliceString) ToLower()

ToLower will lowercase all the strings in the slice.

func (SliceString) Type

func (s SliceString) Type() string

type SortSliceFloat64BySliceString

type SortSliceFloat64BySliceString struct {
	Dependent SliceFloat64
	Ind       SliceString
	Ascending bool
}

SortSliceFloat64BySliceString ...

func NewSortSliceFloat64BySliceString

func NewSortSliceFloat64BySliceString(dependent SliceFloat64, independent SliceString, ascending bool) *SortSliceFloat64BySliceString

NewSortSliceFloat64BySliceString ...

func (*SortSliceFloat64BySliceString) Dependents

func (t *SortSliceFloat64BySliceString) Dependents() interface{}

Dependents ...

func (*SortSliceFloat64BySliceString) Independent

func (t *SortSliceFloat64BySliceString) Independent() interface{}

Independent ...

func (*SortSliceFloat64BySliceString) Len

Len ...

func (*SortSliceFloat64BySliceString) Less

func (t *SortSliceFloat64BySliceString) Less(i, j int) bool

Less ...

func (*SortSliceFloat64BySliceString) Order

func (t *SortSliceFloat64BySliceString) Order()

Order ...

func (*SortSliceFloat64BySliceString) Swap

func (t *SortSliceFloat64BySliceString) Swap(i, j int)

Swap ...

type SortStringsByFloat64

type SortStringsByFloat64 struct {
	Dependent SliceString
	Ind       SliceFloat64
	Ascending bool
}

SortStringsByFloat64 ...

func NewSortStringsByFloat64

func NewSortStringsByFloat64(dependent SliceString, independent SliceFloat64, ascending bool) *SortStringsByFloat64

NewSortStringsByFloat64 will return an object which can have both the string and float64 slice ordered ascending according to the float64 slice. If ascending is specified as true then order will be by float64 ascending, else order will be by float64 descending.

func (*SortStringsByFloat64) Dependents

func (t *SortStringsByFloat64) Dependents() interface{}

Dependents ...

func (*SortStringsByFloat64) Independent

func (t *SortStringsByFloat64) Independent() interface{}

Independent ...

func (*SortStringsByFloat64) Len

func (t *SortStringsByFloat64) Len() int

Len ...

func (*SortStringsByFloat64) Less

func (t *SortStringsByFloat64) Less(i, j int) bool

Less ...

func (*SortStringsByFloat64) Order

func (t *SortStringsByFloat64) Order()

Order ...

func (*SortStringsByFloat64) Swap

func (t *SortStringsByFloat64) Swap(i, j int)

Swap ...

type SortStringsByInt

type SortStringsByInt struct {
	Dependent SliceString
	Ind       []int
	Ascending bool
}

SortStringsByInt ...

func NewSortStringsByInt

func NewSortStringsByInt(dependent SliceString, independent []int, ascending bool) *SortStringsByInt

NewSortStringsByInt will return an object which can have both the string and float64 slice ordered ascending according to the float64 slice. If ascending is specified as true then order will be by float64 ascending, else order will be by float64 descending.

func (*SortStringsByInt) Dependents

func (t *SortStringsByInt) Dependents() interface{}

Dependents ...

func (*SortStringsByInt) Independent

func (t *SortStringsByInt) Independent() interface{}

Independent ...

func (*SortStringsByInt) Len

func (t *SortStringsByInt) Len() int

Len ...

func (*SortStringsByInt) Less

func (t *SortStringsByInt) Less(i, j int) bool

Less ...

func (*SortStringsByInt) Order

func (t *SortStringsByInt) Order()

Order ...

func (*SortStringsByInt) Swap

func (t *SortStringsByInt) Swap(i, j int)

Swap ...

type Sortable

type Sortable interface {
	Dependents() interface{}
	Independent() interface{}
	Order()
}

Sortable allows for multiple slices to be ordered either ascending or descending according to the order of the independent slice.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL