9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 12:09:07 +00:00
This commit is contained in:
Daniel Mills
2020-08-17 00:26:21 -04:00
parent af22751210
commit 8a7bc3c17d
8 changed files with 103 additions and 75 deletions

View File

@@ -12,13 +12,11 @@ public class GroupedExecutor
{
private int xc;
private ExecutorService service;
private IrisLock lock;
private KMap<String, Integer> mirror;
public GroupedExecutor(int threadLimit, int priority, String name)
{
xc = 1;
lock = new IrisLock("GX");
mirror = new KMap<String, Integer>();
if(threadLimit == 1)
@@ -79,8 +77,6 @@ public class GroupedExecutor
while(true)
{
J.sleep(0);
if(mirror.get(g) == 0)
{
break;
@@ -97,13 +93,8 @@ public class GroupedExecutor
public void queue(String q, NastyRunnable r)
{
lock.lock();
if(!mirror.containsKey(q))
{
mirror.put(q, 0);
}
mirror.put(q, mirror.get(q) + 1);
lock.unlock();
mirror.compute(q, (k, v) -> k == null || v == null ? 1 : v + 1);
service.execute(() ->
{
try
@@ -116,9 +107,7 @@ public class GroupedExecutor
}
lock.lock();
mirror.put(q, mirror.get(q) - 1);
lock.unlock();
mirror.compute(q, (k, v) -> v - 1);
});
}
@@ -126,7 +115,7 @@ public class GroupedExecutor
{
J.a(() ->
{
J.sleep(10000);
J.sleep(100);
service.shutdown();
});
}

View File

@@ -132,6 +132,13 @@ public class IrisInterpolation
return cubic(cubic(p00, p01, p02, p03, muy), cubic(p10, p11, p12, p13, muy), cubic(p20, p21, p22, p23, muy), cubic(p30, p31, p32, p33, muy), mux);
}
public static double trilerp(double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double x, double y, double z)
{
double s = blerp(v1, v2, v3, v4, x, y);
double t = blerp(v5, v6, v7, v8, x, y);
return lerp(s, t, z);
}
public static double getBilinearNoise(int x, int z, double rad, NoiseProvider n)
{
int fx = (int) Math.floor(x / rad);