# qrange

A small, easy-to-use library for working with ranges.

## Installation

This package can be installed with the command:

``````pip install qrange
``````

## How to use

``````import qrange
``````

This library provides a set of functions for making it easier to work with ranges:

• `set_min_max(x, min_max, min_max_new)`: Takes an `x` that's between `min_max` and `min_max`, and changes the limits to `min_max_new` and `min_max_new`. Example usage:
```color = [128, 0, 0]
color = set_min_max(color, [0, 255], [0, 1]) #converts 0-255 color to 0-1 color range.
```

## • `reverse_range(x, min_max)`: Reverses an `x` value in a `min_max` range. Suppose you have a `softness` variable, but you made the program so that the higher the softness is, the harder it gets. `reverse_range` can fix that for you:
```softness = reverse_range(softness, [0, 10])
# If the variable was 0, this function made it 10.
# similarly, if it had a value of 10, it is now 0.
```

## • `is_in_range(x, min_max, limits = ['c', 'c'])`: Checks if an `x` value is between `min_max` and `min_max`. The limits of the range are closed by default, so if `x` is equal to one of them, the function returns `True`. However, you can choose between `c` and `o` (closed/open) for each one of the two limits. An example:
```isBetween = is_in_range(var, [25, 75])
```

## • `range_lerp(min_max, t)`: Returns the linear interpolation between `min_max` and `min_max`. The following line prints the value halfway between 1 and 5:
```print(range_lerp([1, 5], 0.5))
# outputs 3
```

## • `find_lerp(x, min_max)`: returns the corresponding `t` value (between 0 and 1) of an `x` value between `min_max` and `min_max`. Consider the following examples:
```print(find_lerp(5, [5, 10])) #outputs 0
print(find_lerp(10, [5, 10])) #outputs 1
print(find_lerp(8, [5, 10])) #outputs 0.6
```

## • `clamp(x, min_max)`: Restricts the value to stay within the limits `min_max` and `min_max`.
```var = clamp(var, [25, 75])
``` ## Changelog

### Version 1.0.0

• qrange has been created

Hi! I am a solo software developer. I created qrange as an open source library to simplify the process of using ranges in Python. Check out my other repositories as well. If you want to support me, please buy me a coffee here. Any amount is appreciated! :)

## Project details

This version 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0

Uploaded `source`
Uploaded `py3`