summaryrefslogtreecommitdiff
path: root/vendor/github.com/buckket/go-blurhash/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/buckket/go-blurhash/utils.go')
-rw-r--r--vendor/github.com/buckket/go-blurhash/utils.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/buckket/go-blurhash/utils.go b/vendor/github.com/buckket/go-blurhash/utils.go
new file mode 100644
index 000000000..593ab61d5
--- /dev/null
+++ b/vendor/github.com/buckket/go-blurhash/utils.go
@@ -0,0 +1,23 @@
+package blurhash
+
+import "math"
+
+func linearTosRGB(value float64) int {
+ v := math.Max(0, math.Min(1, value))
+ if v <= 0.0031308 {
+ return int(v*12.92*255 + 0.5)
+ }
+ return int((1.055*math.Pow(v, 1/2.4)-0.055)*255 + 0.5)
+}
+
+func sRGBToLinear(value int) float64 {
+ v := float64(value) / 255
+ if v <= 0.04045 {
+ return v / 12.92
+ }
+ return math.Pow((v+0.055)/1.055, 2.4)
+}
+
+func signPow(value, exp float64) float64 {
+ return math.Copysign(math.Pow(math.Abs(value), exp), value)
+}