Skip to content

Small library for mapping and reversing ranges of numbers.

Notifications You must be signed in to change notification settings

cppjames/qrange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

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

Use qrange in your project by adding the following line at the top of your file:

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[0] and min_max[1], and changes the limits to min_max_new[0] and min_max_new[1]. Example usage:
color = [128, 0, 0]
color[0] = set_min_max(color[0], [0, 255], [0, 1]) #converts 0-255 color to 0-1 color range.

set_min_max

  • 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.

reverse_range

  • is_in_range(x, min_max, limits = ['c', 'c']): Checks if an x value is between min_max[0] and min_max[1]. 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])

is_in_range

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

range_lerp

  • find_lerp(x, min_max): returns the corresponding t value (between 0 and 1) of an x value between min_max[0] and min_max[1]. 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

find_lerp

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

clamp

Changelog

Version 1.0.0

  • qrange has been created

About the author

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.

About

Small library for mapping and reversing ranges of numbers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages