parent
eb981454c0
commit
0fa85dc371
@ -0,0 +1,39 @@ |
|||||||
|
package mightypork.test; |
||||||
|
|
||||||
|
import mightypork.utils.math.constraints.vect.Vect; |
||||||
|
import mightypork.utils.math.constraints.vect.VectCache; |
||||||
|
import mightypork.utils.math.constraints.vect.VectVar; |
||||||
|
|
||||||
|
|
||||||
|
public class TestConstCaching { |
||||||
|
public static void main(String[] args) |
||||||
|
{ |
||||||
|
VectVar in = Vect.makeVar(0, 0); |
||||||
|
VectCache cache = in.cached(); |
||||||
|
cache.enableDigestCaching(true); |
||||||
|
|
||||||
|
System.out.println("in = "+in); |
||||||
|
System.out.println("cache = "+cache); |
||||||
|
System.out.println("cache digest = " + cache.digest()); |
||||||
|
System.out.println("\n-- in := 100, 50, 25 --\n"); |
||||||
|
in.setTo(100,50,25); |
||||||
|
System.out.println("in = "+in); |
||||||
|
System.out.println("cache = "+cache); |
||||||
|
System.out.println("cache digest = " + cache.digest()); |
||||||
|
System.out.println("\n-- cache.poll() --\n"); |
||||||
|
cache.poll(); |
||||||
|
System.out.println("in = "+in); |
||||||
|
System.out.println("cache = "+cache); |
||||||
|
System.out.println("cache digest = " + cache.digest()); |
||||||
|
System.out.println("\n-- in := 1, 2, 3 --\n"); |
||||||
|
in.setTo(1,2,3); |
||||||
|
System.out.println("in = "+in); |
||||||
|
System.out.println("cache = "+cache); |
||||||
|
System.out.println("cache digest = " + cache.digest()); |
||||||
|
System.out.println("\n-- cache.poll() --\n"); |
||||||
|
cache.poll(); |
||||||
|
System.out.println("cache = "+cache); |
||||||
|
System.out.println("cache digest = " + cache.digest()); |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package mightypork.utils.math.constraints.num; |
||||||
|
|
||||||
|
|
||||||
|
public class NumCache extends NumAdapter { |
||||||
|
|
||||||
|
private final NumVar cache = Num.makeVar(); |
||||||
|
private final Num source; |
||||||
|
private boolean inited = false; |
||||||
|
|
||||||
|
|
||||||
|
public NumCache(Num source) { |
||||||
|
this.source = source; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected Num getSource() |
||||||
|
{ |
||||||
|
if (!inited) poll(); |
||||||
|
|
||||||
|
return cache; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Update cached value and cached digest (if digest caching is enabled) |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void poll() |
||||||
|
{ |
||||||
|
inited = true; |
||||||
|
cache.setTo(source); |
||||||
|
|
||||||
|
super.poll(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package mightypork.utils.math.constraints.num; |
||||||
|
|
||||||
|
|
||||||
|
public class NumProxy extends NumAdapter { |
||||||
|
|
||||||
|
private final Num source; |
||||||
|
|
||||||
|
|
||||||
|
public NumProxy(Num source) { |
||||||
|
this.source = source; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected Num getSource() |
||||||
|
{ |
||||||
|
return source; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package mightypork.utils.math.constraints.rect; |
||||||
|
|
||||||
|
|
||||||
|
public class RectCache extends RectAdapter { |
||||||
|
|
||||||
|
private final RectVar cache = Rect.makeVar(); |
||||||
|
private final Rect source; |
||||||
|
private boolean inited = false; |
||||||
|
|
||||||
|
|
||||||
|
public RectCache(Rect source) { |
||||||
|
this.source = source; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected Rect getSource() |
||||||
|
{ |
||||||
|
if (!inited) poll(); |
||||||
|
|
||||||
|
return cache; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Update cached value and cached digest (if digest caching is enabled) |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void poll() |
||||||
|
{ |
||||||
|
inited = true; |
||||||
|
cache.setTo(source); |
||||||
|
|
||||||
|
super.poll(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package mightypork.utils.math.constraints.vect; |
||||||
|
|
||||||
|
|
||||||
|
public class VectCache extends VectAdapter { |
||||||
|
|
||||||
|
private final VectVar cache = Vect.makeVar(); |
||||||
|
private final Vect source; |
||||||
|
private boolean inited = false; |
||||||
|
|
||||||
|
|
||||||
|
public VectCache(Vect source) { |
||||||
|
this.source = source; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected Vect getSource() |
||||||
|
{ |
||||||
|
if (!inited) poll(); |
||||||
|
|
||||||
|
return cache; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Update cached value and cached digest (if digest caching is enabled) |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void poll() |
||||||
|
{ |
||||||
|
inited = true; |
||||||
|
cache.setTo(source); |
||||||
|
|
||||||
|
super.poll(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package mightypork.utils.math.constraints.vect; |
||||||
|
|
||||||
|
|
||||||
|
public class VectProxy extends VectAdapter { |
||||||
|
|
||||||
|
private final Vect source; |
||||||
|
|
||||||
|
|
||||||
|
public VectProxy(Vect source) { |
||||||
|
this.source = source; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected Vect getSource() |
||||||
|
{ |
||||||
|
return source; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue