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