<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
Removes all the items qualified by the delegate.
<param name="where">The predicate to qualify removals.</param>
Removes all the items in a given space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space validated by a predicate.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="where">The equality constraint of the removal.</param>
Removes all the items in a given space validated by a predicate.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="where">The equality constraint of the removal.</param>
Removes all instances of a given value.
Removes all instances of a given value.
Removes all the items in a given space.
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space validated by a predicate.
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<param name="where">The equality constraint of the removal.</param>
Traverses every item in the tree and performs the delegate in them.
<param name="step">The delegate to perform on every item in the tree.</param>
Traverses every item in the tree and performs the delegate in them.
<param name="step">The delegate to perform on every item in the tree.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
Omnitree that stores points along 7 dimensions implemented as a linked tree.
<typeparam name="T">The type of items to store in the omnitree.</typeparam>
<typeparam name="Axis1">The type 1D axis.</typeparam>
<typeparam name="Axis2">The type 2D axis.</typeparam>
<typeparam name="Axis3">The type 3D axis.</typeparam>
<typeparam name="Axis4">The type 4D axis.</typeparam>
<typeparam name="Axis5">The type 5D axis.</typeparam>
<typeparam name="Axis6">The type 6D axis.</typeparam>
<typeparam name="Axis7">The type 7D axis.</typeparam>
The number of dimensions in this tree.
The location function the Omnitree is using.
The comparison function the Omnitree is using along the 1D axis.
The comparison function the Omnitree is using along the 2D axis.
The comparison function the Omnitree is using along the 3D axis.
The comparison function the Omnitree is using along the 4D axis.
The comparison function the Omnitree is using along the 5D axis.
The comparison function the Omnitree is using along the 6D axis.
The comparison function the Omnitree is using along the 7D axis.
The current number of items in the tree.
Finds the current maximum depth of the tree. NOT AN O(1) OPERATION. Intended for educational purposes only.
Counts the current number of nodes in the tree. NOT AN O(1) OPERATION. Intended for educational purposes only.
Counts the current number of branches in the tree. NOT AN O(1) OPERATION. Intended for educational purposes only.
Counts the current number of leaves in the tree. NOT AN O(1) OPERATION. Intended for educational purposes only.
Constructs a new 7D omnitree that stores points.
<param name="locate">The delegate for locating items in 7D space.</param>
<param name="compare1">The delegate for comparing values along the 1D axis.</param>
<param name="compare2">The delegate for comparing values along the 2D axis.</param>
<param name="compare3">The delegate for comparing values along the 3D axis.</param>
<param name="compare4">The delegate for comparing values along the 4D axis.</param>
<param name="compare5">The delegate for comparing values along the 5D axis.</param>
<param name="compare6">The delegate for comparing values along the 6D axis.</param>
<param name="compare7">The delegate for comparing values along the 7D axis.</param>
<param name="subdivisionOverride1">The subdivision overide to be used when splitting the 1 dimension.</param>
<param name="subdivisionOverride2">The subdivision overide to be used when splitting the 2 dimension.</param>
<param name="subdivisionOverride3">The subdivision overide to be used when splitting the 3 dimension.</param>
<param name="subdivisionOverride4">The subdivision overide to be used when splitting the 4 dimension.</param>
<param name="subdivisionOverride5">The subdivision overide to be used when splitting the 5 dimension.</param>
<param name="subdivisionOverride6">The subdivision overide to be used when splitting the 6 dimension.</param>
<param name="subdivisionOverride7">The subdivision overide to be used when splitting the 7 dimension.</param>
Adds an item to the tree.
<param name="addition">The item to be added.</param>
Returns the tree to an empty state.
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Counts the number of items in a sub space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<returns>The number of items in the provided sub space.</returns>
Counts the number of items in a sub space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<returns>The number of items in the provided sub space.</returns>
Counts the number of items in a sub space.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
<param name="axis7">The coordinate along the 7D axis.</param>
<returns>The number of items in the provided sub space.</returns>
Counts the number of items in a sub space.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
<param name="axis7">The coordinate along the 7D axis.</param>
<returns>The number of items in the provided sub space.</returns>
Iterates through the entire tree and ensures each item is in the proper leaf.
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
<param name="axis7">The coordinate along the 7D axis.</param>
Iterates through the provided dimensions and ensures each item is in the proper leaf.
<param name="axis1">The coordinate along the 1D axis.</param>
<param name="axis2">The coordinate along the 2D axis.</param>
<param name="axis3">The coordinate along the 3D axis.</param>
<param name="axis4">The coordinate along the 4D axis.</param>
<param name="axis5">The coordinate along the 5D axis.</param>
<param name="axis6">The coordinate along the 6D axis.</param>
<param name="axis7">The coordinate along the 7D axis.</param>
Removes all the items qualified by the delegate.
<param name="where">The predicate to qualify removals.</param>
Removes all the items in a given space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space validated by a predicate.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<param name="where">The equality constraint of the removal.</param>
Removes all the items in a given space validated by a predicate.
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
<param name="where">The equality constraint of the removal.</param>
Removes all instances of a given value.
Removes all instances of a given value.
Removes all the items in a given space.
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<param name="axis7">The axis of the removal along the 7D axis.</param>
<returns>The number of items that were removed.</returns>
Removes all the items in a given space validated by a predicate.
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<param name="axis7">The axis of the removal along the 7D axis.</param>
<param name="where">The equality constraint of the removal.</param>
Traverses every item in the tree and performs the delegate in them.
<param name="step">The delegate to perform on every item in the tree.</param>
Traverses every item in the tree and performs the delegate in them.
<param name="step">The delegate to perform on every item in the tree.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="min1">The minimum coordinate of the space along the 1 axis.</param>
<param name="max1">The maximum coordinate of the space along the 1 axis.</param>
<param name="min2">The minimum coordinate of the space along the 2 axis.</param>
<param name="max2">The maximum coordinate of the space along the 2 axis.</param>
<param name="min3">The minimum coordinate of the space along the 3 axis.</param>
<param name="max3">The maximum coordinate of the space along the 3 axis.</param>
<param name="min4">The minimum coordinate of the space along the 4 axis.</param>
<param name="max4">The maximum coordinate of the space along the 4 axis.</param>
<param name="min5">The minimum coordinate of the space along the 5 axis.</param>
<param name="max5">The maximum coordinate of the space along the 5 axis.</param>
<param name="min6">The minimum coordinate of the space along the 6 axis.</param>
<param name="max6">The maximum coordinate of the space along the 6 axis.</param>
<param name="min7">The minimum coordinate of the space along the 7 axis.</param>
<param name="max7">The maximum coordinate of the space along the 7 axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<param name="axis7">The axis of the removal along the 7D axis.</param>
Performs and specialized traversal of the structure and performs a delegate on every node within the provided dimensions.
<param name="step">The delegate to perform on all items in the tree within the given bounds.</param>
<param name="axis1">The axis of the removal along the 1D axis.</param>
<param name="axis2">The axis of the removal along the 2D axis.</param>
<param name="axis3">The axis of the removal along the 3D axis.</param>
<param name="axis4">The axis of the removal along the 4D axis.</param>
<param name="axis5">The axis of the removal along the 5D axis.</param>
<param name="axis6">The axis of the removal along the 6D axis.</param>
<param name="axis7">The axis of the removal along the 7D axis.</param>
Sorted linear data structure implemented using a list array.
<typeparam name="T">The generic type stored in this data structure.</typeparam>
The comparison function utilized by this data structure.
Returns the number of items in the list.
Constructs a Order_ListArray.
Constructs a Order_ListArray.
<param name="compare">The soring technique used by this data structure.</param>
Adds an item to the end of this list.
<param name="addition">The item to add to the list.</param>
Removes the first occurence of an item in the list.
<param name="removal">The item to remove.</param>
<param name="compare">The function to determine equality.</param>
Removes the first occurence of an item in the list or returns false.
<param name="removal">The item to remove.</param>
<param name="compare">The function to determine equality.</param>
<returns>True if the item was found and removed; False if not.</returns>
Removes all occurences of an item in the list.
<param name="removal">The item to genocide (hell yeah that is a verb...).</param>
<param name="compare">The function to determine equality.</param>
Resets the list to an empty state. WARNING could cause excessive garbage collection.
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Sorted linear data structure implemented using a list array.
<typeparam name="T">The generic type stored in this data structure.</typeparam>
The comparison function utilized by this data structure.
Returns the number of items in the list.
Constructs a Order_ListArray.
<param name="compare">The soring technique used by this data structure.</param>
Adds an item to the end of this list.
<param name="addition">The item to add to the list.</param>
Removes the first occurence of an item in the list.
<param name="removal">The item to remove.</param>
<param name="compare">The function to determine equality.</param>
Removes the first occurence of an item in the list or returns false.
<param name="removal">The item to remove.</param>
<param name="compare">The function to determine equality.</param>
<returns>True if the item was found and removed; False if not.</returns>
Removes all occurences of an item in the list.
<param name="removal">The item to genocide (hell yeah that is a verb...).</param>
<param name="compare">The function to determine equality.</param>
Resets the list to an empty state. WARNING could cause excessive garbage collection.
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Implements First-In-First-Out queue data structure using an array.
<typeparam name="T">The generic type within the structure.</typeparam>
Gets the number of items in the list.
<remarks>Runtime: O(1).</remarks>
Gets the current capacity of the list.
<remarks>Runtime: O(1).</remarks>
Allows you to adjust the minimum capacity of this list.
<remarks>Runtime: O(n), Omega(1).</remarks>
The newest item currently in the queue.
The oldest item currently in the queue.
Creates an instance of a ListArray, and sets it's minimum capacity.
<runtime>θ(1)</runtime>
Creates an instance of a ListArray, and sets it's minimum capacity.
<param name="minimumCapacity">The initial and smallest array size allowed by this list.</param>
<runtime>θ(1)</runtime>
Converts the list array into a standard array.
<returns>A standard array of all the elements.</returns>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Adds an item to the end of the list.
<param name="addition">The item to be added.</param>
<remarks>Runtime: O(n), EstAvg(1). </remarks>
Removes the item at a specific index.
<runtime>O(n - index)</runtime>
Gets the next item in the queue without removing it.
<returns>The next item in the queue.</returns>
Empties the list back and reduces it back to its original capacity.
<runtime>O(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Gets the enumerator for this queue.
<returns>The enumerator for this queue.</returns>
Implements First-In-First-Out queue data structure using a linked list.
<typeparam name="T">The generic type within the structure.</typeparam>
The newest item currently in the queue.
<runtime>O(1)</runtime>
The oldest item currently in the queue.
<runtime>O(1)</runtime>
Returns the number of items in the queue.
<runtime>O(1)</runtime>
Creates an instance of a queue.
<runtime>O(1)</runtime>
Converts the list into a standard array.
<returns>A standard array of all the items.</returns>
<runtime>O(n)</runtime>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Adds an item to the back of the queue.
<param name="enqueue">The item to add to the queue.</param>
<remarks>Runtime: O(1).</remarks>
Removes the oldest item in the queue.
<returns>The next item in the queue.</returns>
<remarks>Runtime: O(1).</remarks>
Gets the next item in the queue without removing it.
<returns>The next item in the queue.</returns>
Resets the queue to an empty state.
<runtime>O(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Gets the enumerator for this queue.
<returns>The enumerator for the queue.</returns>
Contains extension methods for the RedBlackTree interface.
A self sorting binary tree using the red-black tree algorithms.
<typeparam name="T">The generic type of the structure.</typeparam>
<citation>
This Red-Black Tree imlpementation was originally developed by
Roy Clem and hosted as an open source project on
CodeProject.com. However, it has been modified since its
addition into the Towel framework.
http://www.codeproject.com/Articles/8287/Red-Black-Trees-in-C
</citation>
Gets the current least item in the avl tree.
Gets the current greated item in the avl tree.
The number of items in this data structure.
The sorting technique.
Constructs a new Red Black Tree.
<param name="compare">The comparison method to be used when sorting the values of the tree.</param>
Tries to add a value to the Red-Black tree.
<param name="value">The value to be added to the Red-Black tree.</param>
<param name="exception">The exception that occurred if the add failed.</param>
<returns>True if the add was successful or false if not.</returns>
Returns the tree to an empty state.
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Determines if the tree contains a given value;
<param name="value">The value to see if the tree contains.</param>
<returns>True if the tree contains the value. False if not.</returns>
Determines if this structure contains an item by a given key.
<param name="compare">The sorting technique (must synchronize with this structure's sorting).</param>
<returns>True of contained, False if not.</returns>
<runtime>O(ln(Count)) Ω(1)</runtime>
Tries to get a value.
<param name="compare">The compare delegate.</param>
<param name="value">The value if it was found or default.</param>
<param name="exception">The exception that occurred if the get failed.</param>
<returns>True if the value was found or false if not.</returns>
Tries to remove a value.
<param name="value">The value to remove.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<returns>True if the remove was successful or false if not.</returns>
Tries to remove a value.
<param name="compare">The compare delegate.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<returns>True if the remove was successful or false if not.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
<runtime>O(n * step)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<param name="minimum">The minimum value of the optimized stepper function.</param>
<param name="maximum">The maximum value of the optimized stepper function.</param>
<runtime>O(n * step), Ω(1)</runtime>
Returns the IEnumerator for this data structure.
<returns>The IEnumerator for this data structure.</returns>
<citation>
This method was provided by user CyrusNajmabadi from GitHub.
</citation>
An unsorted structure of unique items.
<typeparam name="Structure">The type of structure to use for each index of the hash table.</typeparam>
<typeparam name="T">The type of values to store in the set.</typeparam>
Clones a structure.
<param name="structure">The structure to clone.</param>
<returns>A clone of the structure.</returns>
Factory for constructing new structures.
<param name="equate">A delegate for equality checks.</param>
<param name="hash">A delegate for computing hash codes.</param>
<returns>The constructed structure.</returns>
The current size of the hashed table.
<runtime>O(1)</runtime>
The current number of values in the set.
<runtime>O(1)</runtime>
The delegate for computing hash codes.
<runtime>O(1)</runtime>
The delegate for equality checking.
<runtime>O(1)</runtime>
Adds a value to the hash table.
<param name="value">The key value to use as the look-up reference in the hash table.</param>
<param name="exception">The exception that occurred if the add failed.</param>
<runtime>O(n), Ω(1), ε(1)</runtime>
Removes a value from the set.
<param name="value">The value to remove.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<runtime>O(n), Ω(1), ε(1)</runtime>
Removes a value from the set.
<param name="value">The value to remove.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<runtime>O(n), Ω(1), ε(1)</runtime>
Determines if a value has been added to a set.
<param name="value">The value to look for in the set.</param>
<returns>True if the value has been added to the set or false if not.</returns>
<runtime>O(n), Ω(1), ε(1)</runtime>
Removes all the values in the set.
<runtime>O(1)</runtime>
Trims the table to an appropriate size based on the current count.
<runtime>O(n), Ω(1)</runtime>
Steps through all the values of the set.
<param name="step">The action to perform on every value in the set.</param>
<runtime>Θ(n * step)</runtime>
Steps through all the values of the set.
<param name="step">The action to perform on every value in the set.</param>
<returns>The status of the stepper.</returns>
<runtime>Θ(n * step)</runtime>
Gets the enumerator for the set.
<returns>The enumerator for the set.</returns>
<runtime>O(n)</runtime>
Puts all the values in this set into an array.
<returns>An array with all the values in the set.</returns>
<runtime>Θ(n)</runtime>
An unsorted structure of unique items implemented as a hashed table of linked lists.
<typeparam name="T">The type of values to store in the set.</typeparam>
The current size of the hashed table.
<runtime>O(1)</runtime>
The current number of values in the set.
<runtime>O(1)</runtime>
The delegate for computing hash codes.
<runtime>O(1)</runtime>
The delegate for equality checking.
<runtime>O(1)</runtime>
Constructs a hashed set.
<param name="equate">The equate delegate.</param>
<param name="hash">The hashing function.</param>
<param name="expectedCount">The expected count of the set.</param>
<runtime>O(1)</runtime>
Adds a value to the set.
<param name="value">The value to add to the set.</param>
<param name="exception">The exception that occurred if the add failed.</param>
<runtime>O(n), Ω(1), ε(1)</runtime>
Tries to remove a value from the set.
<param name="value">The value to remove.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<returns>True if the remove was successful or false if not.</returns>
Tries to remove a value from the set without shrinking the hash table.
<param name="value">The value to remove.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
<returns>True if the remove was successful or false if not.</returns>
Trims the table to an appropriate size based on the current count.
<runtime>O(n), Ω(1)</runtime>
Creates a shallow clone of this set.
<returns>A shallow clone of this set.</returns>
<runtime>Θ(n)</runtime>
Determines if a value has been added to a set.
<param name="value">The value to look for in the set.</param>
<returns>True if the value has been added to the set or false if not.</returns>
<runtime>O(n), Ω(1), ε(1)</runtime>
Removes all the values in the set.
<runtime>O(1)</runtime>
Steps through all the values of the set.
<param name="step">The action to perform on every value in the set.</param>
<runtime>Θ(n * step)</runtime>
Steps through all the values of the set.
<param name="step">The action to perform on every value in the set.</param>
<returns>The status of the stepper.</returns>
<runtime>Θ(n * step)</runtime>
Gets the enumerator for the set.
<returns>The enumerator for the set.</returns>
<runtime>O(n)</runtime>
Puts all the values in this set into an array.
<returns>An array with all the values in the set.</returns>
<runtime>Θ(n)</runtime>
Represents a collection of key-and-value pairs.
<citation>
This SkipList imlpementation was originally developed by
Leslie Sanford and hosted as an open source project on
CodeProject.com. However, it has been modified since its
addition into the Towel framework.
http://www.codeproject.com/Articles/4897/A-Skip-List-in-C
Original Author:
Created by: Leslie Sanford (08/27/2003)
Contact<EMAIL_ADDRESS></citation>
Gets the number of elements contained in the SkipList.
Gets an ICollection containing the keys of the SkipList.
Gets an ICollection containing the values of the SkipList.

Initializes a new instance of the SkipList class that is empty and
is sorted according to the specified IComparer interface.

<param name="comparer">
The IComparer implementation to use when comparing keys.
</param>
<remarks>
The elements are sorted according to the specified IComparer
implementation. If comparer is a null reference, the IComparable
implementation of each key is used; therefore, each key must
implement the IComparable interface to be capable of comparisons
with every other key in the SkipList.
</remarks>
Adds an element with the provided key and value to the SkipList.
<param name="key">The Object to use as the key of the element to add.</param>
<param name="value">The Object to use as the value of the element to add.</param>
Removes all elements from the SkipList.
Determines whether the SkipList contains an element with the specified key.
<param name="key">The key to locate in the SkipList.</param>
<returns>true if the SkipList contains an element with the key; otherwise, false.</returns>
Returns an IDictionaryEnumerator for the SkipList.
<returns>An IDictionaryEnumerator for the SkipList.</returns>
Removes the element with the specified key from the SkipList.
<param name="key">The key of the element to remove.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Converts the structure into an array.
<returns>An array containing all the item in the structure.</returns>
Contains extensions methods for the SortedBinaryTree interface.
Gets a traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a reverse traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a reverse traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a reverse traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Gets a reverse traversal stepper for the tree.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (left to right) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (left to right) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (left to right) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (left to right) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (right to left) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (right to left) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (right to left) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Does an optimized step function (right to left) for sorted binary search trees.
<typeparam name="T">The generic type of this data structure.</typeparam>
<param name="tree">The tree to traverse.</param>
<param name="minimum">The minimum step value.</param>
<param name="maximum">The maximum step value.</param>
<returns>The stepper of the traversal.</returns>
Tries to get a value.
<typeparam name="T">The type of value.</typeparam>
<param name="tree">The tree to get the value from.</param>
<param name="compare">The compare delegate. This must match the compare that the Red-Black tree is sorted with.</param>
<param name="value">The value if it is found.</param>
<returns>True if the value was found or false if not.</returns>
Gets a value.
<typeparam name="T">The type of value.</typeparam>
<param name="tree">The tree to get the value from.</param>
<param name="compare">The compare delegate. This must match the compare that the Red-Black tree is sorted with.</param>
<returns>The value.</returns>
Tries to remove a value.
<typeparam name="T">The type of value.</typeparam>
<param name="tree">The tree to remove the value from.</param>
<param name="compare">The compare delegate.</param>
<returns>True if the remove was successful or false if not.</returns>
Removes a value.
<typeparam name="T">The type of value.</typeparam>
<param name="tree">The tree to remove the value from.</param>
<param name="compare">The compare delegate.</param>
Implements a First-In-Last-Out stack data structure using an array.
<typeparam name="T">The generic type within the structure.</typeparam>
Gets the current capacity of the list.
<remarks>Runtime: O(1).</remarks>
Allows you to adjust the minimum capacity of this list.
<remarks>Runtime: O(n), Omega(1).</remarks>
Gets the number of items in the list.
<remarks>Runtime: O(1).</remarks>
Creates an instance of a ListArray, and sets it's minimum capacity.
<remarks>Runtime: O(1).</remarks>
Creates an instance of a ListArray, and sets it's minimum capacity.
<param name="minimumCapacity">The initial and smallest array size allowed by this list.</param>
<remarks>Runtime: O(1).</remarks>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Converts the list array into a standard array.
<returns>A standard array of all the elements.</returns>
Adds an item to the end of the list.
<param name="addition">The item to be added.</param>
<remarks>Runtime: O(n), EstAvg(1). </remarks>
Removes the item at a specific index.
<remarks>Runtime: Towel(n - index).</remarks>
Returns the most recent addition to the stack.
<returns>The most recent addition to the stack.</returns>
<remarks>Runtime: O(1).</remarks>
Empties the list back and reduces it back to its original capacity.
<remarks>Runtime: O(1).</remarks>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Gets the enumerator for this stack.
<returns>The enumerator for this stack.</returns>
Implements a First-In-Last-Out stack data structure using a linked list.
<typeparam name="T">The generic type within the structure.</typeparam>
Returns the number of items in the stack.
<runtime>θ(1)</runtime>
Creates an instance of a stack.
<runtime>θ(1)</runtime>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Converts the structure into an array.
<returns>An array containing all the item in the structure.</returns>
<remarks>Runtime: Towel(n).</remarks>
Adds an item to the top of the stack.
<param name="addition">The item to add to the stack.</param>
<runtime>O(1)</runtime>
Returns the most recent addition to the stack.
<returns>The most recent addition to the stack.</returns>
<remarks>Runtime: O(1).</remarks>
Removes and returns the most recent addition to the stack.
<returns>The most recent addition to the stack.</returns>
<remarks>Runtime: O(1).</remarks>
Clears the stack to an empty state.
<remarks>Runtime: O(1). Note: causes considerable garbage collection.</remarks>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Clones a structure.
<param name="structure">The structure to clone.</param>
<returns>A clone of the structure.</returns>
Factory for constructing new structures.
<param name="equate">A delegate for equality checks.</param>
<param name="hash">A delegate for computing hash codes.</param>
<returns>The constructed structure.</returns>
A delegate for determining the point of subdivision in a set of values and current bounds.
<typeparam name="T">The generic type of the values to find the point of subdivision.</typeparam>
<typeparam name="A">The type of axis along with the values are to be subdivided.</typeparam>
<typeparam name="BoundsType">The type of bounds currently constraining the data.</typeparam>
<param name="bounds">The current bounds of the set of values.</param>
<param name="values">The values to find the point of subdivision.</param>
<returns></returns>
A generic tree data structure using a dictionary to store node data.
<typeparam name="T">The generic type stored in this data structure.</typeparam>
The head of the tree.
The hash function being used (was passed into the constructor).
The equate function being used (was passed into the constructor).
The number of nodes in this tree.
Determines if a node is the child of another node.
<param name="node">The child to check the parent of.</param>
<param name="parent">The parent to check the child of.</param>
<returns>True if the node is a child of the parent; False if not.</returns>
Gets the parent of a given node.
<param name="child">The child to get the parent of.</param>
<returns>The parent of the given child.</returns>
Stepper function for the children of a given node.
<param name="parent">The node to step through the children of.</param>
<param name="step_function">The step function.</param>
Adds a node to the tree.
<param name="addition">The node to be added.</param>
<param name="parent">The parent of the node to be added.</param>
Removes a node from the tree and all the child nodes.
<param name="removal">The node to be removed.</param>
<param name="exception">The exception that occurred if the remove failed.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Creates a shallow clone of this data structure.
<returns>A shallow clone of this data structure.</returns>
Converts the structure into an array.
<returns>An array containing all the item in the structure.</returns>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="function">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
An N-D vector.
The locations along each axis.
Returns a vector with defaulted values.
Constructs an N-D vector.
<param name="location"></param>
Represents a 1D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
The value along axis 1.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
Represents a 2D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
Represents a 3D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
<typeparam name="A3">The generic type of the 3 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
The value along axis 3.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
<param name="axis3">The location along axis 3.</param>
Represents a 4D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
<typeparam name="A3">The generic type of the 3 dimension.</typeparam>
<typeparam name="A4">The generic type of the 4 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
The value along axis 3.
The value along axis 4.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
<param name="axis3">The location along axis 3.</param>
<param name="axis4">The location along axis 4.</param>
Represents a 5D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
<typeparam name="A3">The generic type of the 3 dimension.</typeparam>
<typeparam name="A4">The generic type of the 4 dimension.</typeparam>
<typeparam name="A5">The generic type of the 5 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
The value along axis 3.
The value along axis 4.
The value along axis 5.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
<param name="axis3">The location along axis 3.</param>
<param name="axis4">The location along axis 4.</param>
<param name="axis5">The location along axis 5.</param>
Represents a 6D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
<typeparam name="A3">The generic type of the 3 dimension.</typeparam>
<typeparam name="A4">The generic type of the 4 dimension.</typeparam>
<typeparam name="A5">The generic type of the 5 dimension.</typeparam>
<typeparam name="A6">The generic type of the 6 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
The value along axis 3.
The value along axis 4.
The value along axis 5.
The value along axis 6.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
<param name="axis3">The location along axis 3.</param>
<param name="axis4">The location along axis 4.</param>
<param name="axis5">The location along axis 5.</param>
<param name="axis6">The location along axis 6.</param>
Represents a 7D vector.
<typeparam name="A1">The generic type of the 1 dimension.</typeparam>
<typeparam name="A2">The generic type of the 2 dimension.</typeparam>
<typeparam name="A3">The generic type of the 3 dimension.</typeparam>
<typeparam name="A4">The generic type of the 4 dimension.</typeparam>
<typeparam name="A5">The generic type of the 5 dimension.</typeparam>
<typeparam name="A6">The generic type of the 6 dimension.</typeparam>
<typeparam name="A7">The generic type of the 7 dimension.</typeparam>
The value along axis 1.
The value along axis 2.
The value along axis 3.
The value along axis 4.
The value along axis 5.
The value along axis 6.
The value along axis 7.
Returns a vector with defaulted values.
A location along each axis.
<param name="axis1">The location along axis 1.</param>
<param name="axis2">The location along axis 2.</param>
<param name="axis3">The location along axis 3.</param>
<param name="axis4">The location along axis 4.</param>
<param name="axis5">The location along axis 5.</param>
<param name="axis6">The location along axis 6.</param>
<param name="axis7">The location along axis 7.</param>
Represents an addition operation.
Constructs a new addition operation.
<param name="a">The left operand of the addition operation.</param>
<param name="b">The right operand of the addition operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an addition or a subtraction operation.
Constructs a new addition or subtraction operation.
<param name="a">The left operand of the operation.</param>
<param name="b">The right operand of the operation.</param>
Abstract base class for all symbolic mathematics binary operations.
The first operand of the binary operation.
The second operand of the binary operation.
Constructs a new binary operation.
<param name="a">The left operand of the binary operation.</param>
<param name="b">The right operand of the binary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Static Generic Mathematics Computation.
Gets the mode(s) of a data set.
<typeparam name="T">The generic type of the data.</typeparam>
<param name="step">The action to perform on every mode value found.</param>
<param name="equate">The equality delegate.</param>
<param name="a">The first value of the data set.</param>
<param name="b">The rest of the data set.</param>
Gets the mode(s) of a data set.
<typeparam name="T">The generic type of the data.</typeparam>
<param name="step">The action to perform on every mode value found.</param>
<param name="hash">The hash code delegate</param>
<param name="a">The first value of the data set.</param>
<param name="b">The rest of the data set.</param>
Gets the mode(s) of a data set.
<typeparam name="T">The generic type of the data.</typeparam>
<param name="step">The action to perform on every mode value found.</param>
<param name="equate">The equality delegate.</param>
<param name="hash">The hash code delegate</param>
<param name="a">The first value of the data set.</param>
<param name="b">The rest of the data set.</param>
Gets the mode(s) of a data set.
<typeparam name="T">The generic type of the data.</typeparam>
<param name="stepper">The data set.</param>
<param name="step">The action to perform on every mode value found.</param>
<param name="equate">The equality delegate.</param>
<param name="hash">The hash code delegate</param>
<returns>The modes of the data set.</returns>
Computes the mean of a set of numerical values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first value of the set of data to compute the mean of.</param>
<param name="b">The remaining values in the data set to compute the mean of.</param>
<returns>The computed mean of the set of data.</returns>
Computes the mean of a set of numerical values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The set of data to compute the mean of.</param>
<returns>The computed mean of the set of data.</returns>
Computes the median of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="compare">The comparison algorithm to sort the data by.</param>
<param name="values">The set of data to compute the median of.</param>
<returns>The computed median value of the set of data.</returns>
Computes the median of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="compare">The comparison algorithm to sort the data by.</param>
<param name="stepper">The set of data to compute the median of.</param>
<returns>The computed median value of the set of data.</returns>
Computes the median of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="values">The set of data to compute the median of.</param>
<returns>The computed median value of the set of data.</returns>
Computes the median of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The set of data to compute the median of.</param>
<returns>The computed median value of the set of data.</returns>
Computes the geometric mean of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="stepper">The set of numbres to compute the geometric mean of.</param>
<returns>The computed geometric mean of the set of numbers.</returns>
Computes the variance of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="stepper">The set of numbers to compute the variance of.</param>
<returns>The computed variance of the set of numbers.</returns>
Computes the standard deviation of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="stepper">The set of numbers to compute the standard deviation of.</param>
<returns>The computed standard deviation of the set of numbers.</returns>
The mean deviation of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="stepper">The set of numbers to compute the mean deviation of.</param>
<returns>The computed mean deviation of the set of numbers.</returns>
Gets the range (minimum and maximum) of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
/// <param name="stepper">The set of data to get the range of.</param>
<param name="minimum">The minimum of the set of data.</param>
<param name="maximum">The maximum of the set of data.</param>
<exception cref="T:System.ArgumentNullException">Throws when stepper is null.</exception>
<exception cref="T:System.ArgumentException">Throws when stepper is empty.</exception>
Gets the range (minimum and maximum) of a set of data.
<typeparam name="T">The numeric type of the operation.</typeparam>
/// <param name="stepper">The set of data to get the range of.</param>
<param name="minimum">The minimum of the set of data.</param>
<param name="maximum">The maximum of the set of data.</param>
<exception cref="T:System.ArgumentNullException">Throws when stepper is null.</exception>
<exception cref="T:System.ArgumentException">Throws when stepper is empty.</exception>
Computes: [ e ^ a ].
Computes the sine ratio of an angle using the relative talor series. Accurate but slow.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the sine ratio of.</param>
<param name="predicate">Determines if coputation should continue or is accurate enough.</param>
<returns>The taylor series computed sine ratio of the provided angle.</returns>
Computes the sine ratio of an angle using the system's sine function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the sine ratio of.</param>
<returns>The sine ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the sine ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated sine ratio of.</param>
<returns>The quadratic estimation of the sine ratio of the provided angle.</returns>
Computes the cosine ratio of an angle using the relative talor series. Accurate but slow.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the cosine ratio of.</param>
<param name="predicate">Determines if coputation should continue or is accurate enough.</param>
<returns>The taylor series computed cosine ratio of the provided angle.</returns>
Computes the cosine ratio of an angle using the system's cosine function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the cosine ratio of.</param>
<returns>The cosine ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the cosine ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated cosine ratio of.</param>
<returns>The quadratic estimation of the cosine ratio of the provided angle.</returns>
Computes the tangent ratio of an angle using the relative talor series. Accurate but slow.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the tangent ratio of.</param>
<returns>The taylor series computed tangent ratio of the provided angle.</returns>
Computes the tangent ratio of an angle using the system's tangent function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the tangent ratio of.</param>
<returns>The tangent ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the tangent ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated tangent ratio of.</param>
<returns>The quadratic estimation of the tangent ratio of the provided angle.</returns>
Computes the cosecant ratio of an angle using the system's sine function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the cosecant ratio of.</param>
<returns>The cosecant ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the cosecant ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated cosecant ratio of.</param>
<returns>The quadratic estimation of the cosecant ratio of the provided angle.</returns>
Computes the secant ratio of an angle using the system's cosine function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the secant ratio of.</param>
<returns>The secant ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the secant ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated secant ratio of.</param>
<returns>The quadratic estimation of the secant ratio of the provided angle.</returns>
Computes the cotangent ratio of an angle using the system's tangent function. WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the cotangent ratio of.</param>
<returns>The cotangent ratio of the provided angle.</returns>
<remarks>WARNING! CONVERSION TO/FROM DOUBLE (possible loss of significant figures).</remarks>
Estimates the cotangent ratio using piecewise quadratic equations. Fast but NOT very accurate.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The angle to compute the quadratic estimated cotangent ratio of.</param>
<returns>The quadratic estimation of the cotangent ratio of the provided angle.</returns>
Computes the best fit line from a set of points in 2D space [y = slope * x + y_intercept].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="points">The points to compute the best fit line of.</param>
<param name="slope">The slope of the computed best fit line [y = slope * x + y_intercept].</param>
<param name="y_intercept">The y intercept of the computed best fit line [y = slope * x + y_intercept].</param>
Factors the primes numbers of a numeric integer value.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to factor the prime numbers of.</param>
<param name="step">The action to perform on all found prime factors.</param>
Computes the value of pi for the provided generic type.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="predicate">The cancellation token for cutting off computation.</param>
<returns>The computed value of pi.</returns>
Converts a value from one type to another.
<typeparam name="A">The generic type to convert from.</typeparam>
<typeparam name="B">The generic type to convert to.</typeparam>
<param name="a">The value to convert.</param>
<returns>The result of the conversion.</returns>
Negates a numeric value [-a].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to negate.</param>
<returns>The result of the negation.</returns>
Adds two numeric values [a + b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the addition.</param>
<param name="b">The second operand of the addition.</param>
<returns>The result of the addition.</returns>
Adds multiple numeric values [a + b + c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the addition.</param>
<param name="b">The second operand of the addition.</param>
<param name="c">The third operand of the addition.</param>
<param name="d">The remaining operands of the addition.</param>
<returns>The result of the addition.</returns>
Adds multiple numeric values [step_1 + step_2 + step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the addition.</returns>
Subtracts two numeric values [a - b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the subtraction.</param>
<param name="b">The second operand of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Subtracts multiple numeric values [a - b - c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the subtraction.</param>
<param name="b">The first second of the subtraction.</param>
<param name="c">The first third of the subtraction.</param>
<param name="d">The remaining values of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Subtracts multiple numeric values [step_1 - step_2 - step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the subtraction.</returns>
Multiplies two numeric values [a * b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the multiplication.</param>
<param name="b">The second operand of the multiplication.</param>
<returns>The result of the multiplication.</returns>
Multiplies multiple numeric values [a * b * c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the multiplication.</param>
<param name="b">The second operand of the multiplication.</param>
<param name="c">The third operand of the multiplication.</param>
<param name="d">The remaining values of the multiplication.</param>
<returns>The result of the multiplication.</returns>
Multiplies multiple numeric values [step_1 * step_2 * step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the multiplication.</returns>
Divides two numeric values [a / b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the division.</param>
<param name="b">The second operand of the division.</param>
<returns>The result of the division.</returns>
Divides multiple numeric values [a / b / c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the division.</param>
<param name="b">The second operand of the division.</param>
<param name="c">The third operand of the division.</param>
<param name="d">The remaining values of the division.</param>
<returns>The result of the division.</returns>
Divides multiple numeric values [step_1 / step_2 / step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the division.</returns>
Inverts a numeric value [1 / a].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The numeric value to invert.</param>
<returns>The result of the inversion.</returns>
Modulos two numeric values [a % b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the modulation.</param>
<param name="b">The second operand of the modulation.</param>
<returns>The result of the modulation.</returns>
Modulos multiple numeric values [a % b % c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the modulation.</param>
<param name="b">The second operand of the modulation.</param>
<param name="c">The third operand of the modulation.</param>
<param name="d">The remaining values of the modulation.</param>
<returns>The result of the modulation.</returns>
Modulos multiple numeric values [step_1 % step_2 % step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the modulation.</returns>
Powers two numeric values [a ^ b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the power.</param>
<param name="b">The first operand of the power.</param>
<returns>The result of the power.</returns>
Powers multiple numeric values [a ^ b ^ c...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the power.</param>
<param name="b">The second operand of the power.</param>
<param name="c">The third operand of the power.</param>
<param name="d">The remaining values of the power.</param>
<returns>The result of the power.</returns>
Powers multiple numeric values [step_1 ^ step_2 ^ step_3...].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The stepper containing the values.</param>
<returns>The result of the power.</returns>
Square roots a numeric value [√a].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The numeric value to square root.</param>
<returns>The result of the square root.</returns>
Roots two numeric values [a ^ (1 / b)].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The base of the root.</param>
<param name="b">The root of the operation.</param>
<returns>The result of the root.</returns>
Determines if a numerical value is an integer.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine integer status of.</param>
<returns>Whether or not the value is an integer.</returns>
Determines if a numerical value is non-negative.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine non-negative status of.</param>
<returns>Whether or not the value is non-negative.</returns>
Determines if a numerical value is negative.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine negative status of.</param>
<returns>Whether or not the value is negative.</returns>
Determines if a numerical value is positive.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine positive status of.</param>
<returns>Whether or not the value is positive.</returns>
Determines if a numerical value is even.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine even status of.</param>
<returns>Whether or not the value is even.</returns>
Determines if a numerical value is odd.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine odd status of.</param>
<returns>Whether or not the value is odd.</returns>
Determines if a numerical value is prime.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to determine prime status of.</param>
<returns>Whether or not the value is prime.</returns>
Gets the absolute value of a value.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The value to get the absolute value of.</param>
<returns>The absolute value of the provided value.</returns>
Computes the maximum of two numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the maximum operation.</param>
<param name="b">The second operand of the maximum operation.</param>
<returns>The computed maximum of the provided values.</returns>
Computes the maximum of multiple numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the maximum operation.</param>
<param name="b">The second operand of the maximum operation.</param>
<param name="c">The third operand of the maximum operation.</param>
<param name="d">The remaining operands of the maximum operation.</param>
<returns>The computed maximum of the provided values.</returns>
Computes the maximum of multiple numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The set of data to compute the maximum of.</param>
<returns>The computed maximum of the provided values.</returns>
Computes the minimum of two numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the minimum operation.</param>
<param name="b">The second operand of the minimum operation.</param>
<returns>The computed minimum of the provided values.</returns>
Computes the minimum of multiple numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the minimum operation.</param>
<param name="b">The second operand of the minimum operation.</param>
<param name="c">The third operand of the minimum operation.</param>
<param name="d">The remaining operands of the minimum operation.</param>
<returns>The computed minimum of the provided values.</returns>
Computes the minimum of multiple numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The set of data to compute the minimum of.</param>
<returns>The computed minimum of the provided values.</returns>
Gets a value restricted to a minimum and maximum range.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="value">The value to clamp.</param>
<param name="minimum">The minimum of the range to clamp the value by.</param>
<param name="maximum">The maximum of the range to clamp the value by.</param>
<returns>The value restricted to the provided range.</returns>
Checks for equality between two numeric values with a range of possibly leniency.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the equality check.</param>
<param name="b">The second operand of the equality check.</param>
<param name="leniency">The allowed distance between the values to still be considered equal.</param>
<returns>True if the values are within the allowed leniency of each other. False if not.</returns>
Compares two numeric values.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the comparison.</param>
<param name="b">The second operand of the comparison.</param>
<returns>The result of the comparison.</returns>
Checks two numeric values for equality [a == b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the equality check.</param>
<param name="b">The second operand of the equality check.</param>
<returns>The result of the equality check.</returns>
Checks for equality among multiple numeric operands.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the equality check.</param>
<param name="b">The second operand of the equality check.</param>
<param name="c">The remaining operands of the equality check.</param>
<returns>True if all operand are equal. False if not.</returns>
Checks for equality among multiple numeric operands.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The operands of the equality check.</param>
<returns>True if all operand are equal. False if not.</returns>
Checks two numeric values for inequality [a != b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the inequality check.</param>
<param name="b">The second operand of the inequality check.</param>
<returns>The result of the inequality check.</returns>
Checks that a numeric value is less than another.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the less than check.</param>
<param name="b">The second operand of the less than check.</param>
<returns>The result of the less than check.</returns>
Checks that a numeric value is greater than another [a > b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the greater than check.</param>
<param name="b">The second operand of the greater than check.</param>
<returns>The result of the greater than check.</returns>
Checks that a numeric value is less than or equal to another.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the less than or equal to check.</param>
<param name="b">The second operand of the less than or equal to check.</param>
<returns>The result of the less than or equal to check.</returns>
Checks that a numeric value is less greater or equal to another [a >= b].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the greater than or equal to check.</param>
<param name="b">The second operand of the greater than or equal to check.</param>
<returns>The result of the greater than or equal to check.</returns>
Computes the greatest common factor of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="a">The first operand of the greatest common factor computation.</param>
<param name="b">The second operand of the greatest common factor computation.</param>
<param name="c">The remaining operands of the greatest common factor computation.</param>
<returns>The computed greatest common factor of the set of numbers.</returns>
Computes the greatest common factor of a set of numbers.
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="stepper">The set of numbers to compute the greatest common factor of.</param>
<returns>The computed greatest common factor of the set of numbers.</returns>
Computes the least common multiple of a set of numbers.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The first operand of the least common muiltiple computation.</param>
<param name="b">The second operand of the least common muiltiple computation.</param>
<param name="c">The remaining operands of the least common muiltiple computation.</param>
<returns>The computed least common least common multiple of the set of numbers.</returns>
Computes the least common multiple of a set of numbers.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="stepper">The set of numbers to compute the least common multiple of.</param>
<returns>The computed least common least common multiple of the set of numbers.</returns>
Computes the factorial of a numeric value [a!] == [a * (a - 1) * (a - 2) * ... * 1].
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="a">The integer factorial to computer the value of.</param>
<returns>The computed factorial value.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown when the parameter is not an integer value.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown when the parameter is less than zero.</exception>
Computes the Binomial coefficient (N choose n).
<typeparam name="T">The numeric type of the computation.</typeparam>
<param name="N">The size of the entire set (N choose n).</param>
<param name="n">The size of the subset (N choose n).</param>
<returns>The computed binomial coefficient (N choose n).</returns>
Counts the number of occurences of each item.
<typeparam name="T">The generic type to count the occerences of.</typeparam>
<param name="a">The first value in the data.</param>
<param name="b">The rest of the data.</param>
<returns>The occurence map of the data.</returns>
Counts the number of occurences of each item.
<typeparam name="T">The generic type to count the occerences of.</typeparam>
<param name="equate">The equality delegate.</param>
<param name="a">The first value in the data.</param>
<param name="b">The rest of the data.</param>
<returns>The occurence map of the data.</returns>
Counts the number of occurences of each item.
<typeparam name="T">The generic type to count the occerences of.</typeparam>
<param name="hash">The hash code delegate.</param>
<param name="a">The first value in the data.</param>
<param name="b">The rest of the data.</param>
<returns>The occurence map of the data.</returns>
Counts the number of occurences of each item.
<typeparam name="T">The generic type to count the occerences of.</typeparam>
<param name="equate">The equality delegate.</param>
<param name="hash">The hash code delegate.</param>
<param name="a">The first value in the data.</param>
<param name="b">The rest of the data.</param>
<returns>The occurence map of the data.</returns>
Counts the number of occurences of each item.
<typeparam name="T">The generic type to count the occerences of.</typeparam>
<param name="stepper">The data to count the occurences of.</param>
<param name="equate">The equality delegate.</param>
<param name="hash">The hash code delegate.</param>
<returns>The occurence map of the data.</returns>
Gets the mode(s) of a data set.
<typeparam name="T">The generic type of the data.</typeparam>
<param name="step">The action to perform on every mode value found.</param>
<param name="a">The first value of the data set.</param>
<param name="b">The rest of the data set.</param>
Represents a constant numerical value.
True if this is a known constant value.
True if this numeric value is zero (0).
True if this numeric value is one (1).
True if this numeric value is two (2).
True if this numeric value is three (3).
True if this numeric value is π (pi).
Determines if the constant is negative.
Represents a numeric constant.
<typeparam name="T">The generic type of the numeric value.</typeparam>
The value of this numeric constant.
True if this numeric value is zero (0).
True if this numeric value is one (1).
True if this numeric value is two (2).
True if this numeric value is three (3).
Determines if the constant is negative.
Constructs a new numeric constant.
<param name="constant">The value of the numeric constant.</param>
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Contains generic static numerical constant values.
<typeparam name="T">The generic numeric type of the constants.</typeparam>
Zero [0]
One [1]
Two [2]
Three [3]
Four [4]
Ten [10]
Negative One [-1]
π [3.14...]
π [3.14...]
2π [6.28...]
2π [6.28...]
π / 2
π / 2
3π/2
3π/2
4/(π^2)
4/(π^2)
-4/(π^2)
-4/(π^2)
Represents the cosecant trigonometric function.
Constructs a new cosecant expression.
<param name="a">The parameter to the cosecant expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the cosine trigonometric function.
Constructs a new cosine expression.
<param name="a">The parameter to the cosine expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Computes the cosine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the cosine ratio of.</param>
<returns>The cosine ratio of the angle.</returns>
Represents the cotangent trigonometric function.
Constructs a new cotangent expression.
<param name="a">The parameter to the cotangent expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a division operation.
Constructs a new division operation.
<param name="a">The left operand of the division operation.</param>
<param name="b">The right operand of the division operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an equality operation between two expressions.
Constructs a new equality operation between two expressions.
<param name="a">The left expression of the equality.</param>
<param name="b">The right expression of the equality.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an exponential operation.
Constructs a new exponential operation.
<param name="a">The expression to compute the exponetial function of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for mathematical expressions.
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="value">The value to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Derives this expression.
<param name="variable">The variable to derive in relation to.</param>
<returns>The result of the derivation.</returns>
Integrates this expression.
<param name="variable">The variable to integrate in relation to.</param>
<returns>The result of the integration.</returns>
Creates a copy of the expression.
<returns>A copy of the expression.</returns>
Represents a factorial operation.
Constructs a new factorial operation.
<param name="a">The operand of the factorial operation.</param>