Save work for now
This commit is contained in:
@ -24,14 +24,7 @@ class Wfc<T> {
|
||||
List<int?> _observed = [];
|
||||
|
||||
// computationally expensive stuff that we keep in an incremental way
|
||||
List<double> _weightLogWeights = [];
|
||||
double _sumOfWeights = 0.0, _sumOfWeightLogWeights = 0.0;
|
||||
double _startingEntropy = 0.0;
|
||||
|
||||
List<int> _sumsOfOnes = [];
|
||||
List<double> _sumsOfWeights = [];
|
||||
List<double> _sumsOfWeightLogWeights = [];
|
||||
List<double> _entropies = [];
|
||||
|
||||
// temporaries
|
||||
List<double> _distribution = [];
|
||||
@ -53,22 +46,7 @@ class Wfc<T> {
|
||||
_distribution = [for (var t = 0; t < _nShingles; t++) 0.0];
|
||||
_observed = [for (var r = 0; r < _n; r++) null];
|
||||
|
||||
_weightLogWeights = [
|
||||
for (var t = 0; t < _nShingles; t++) _weight(t) * math.log(_weight(t))
|
||||
];
|
||||
_sumOfWeights = 0.0;
|
||||
_sumOfWeightLogWeights = 0.0;
|
||||
for (var t = 0; t < _nShingles; t++) {
|
||||
_sumOfWeights += _weight(t);
|
||||
_sumOfWeightLogWeights += _weightLogWeights[t];
|
||||
}
|
||||
_startingEntropy =
|
||||
math.log(_sumOfWeights) - _sumOfWeightLogWeights / _sumOfWeights;
|
||||
|
||||
_sumsOfOnes = [for (var r = 0; r < _n; r++) 0];
|
||||
_sumsOfWeights = [for (var r = 0; r < _n; r++) 0.0];
|
||||
_sumsOfWeightLogWeights = [for (var r = 0; r < _n; r++) 0.0];
|
||||
_entropies = [for (var r = 0; r < _n; r++) 0.0];
|
||||
|
||||
_stack = [for (var r = 0; r < _n * _nShingles; r++) (0, 0)];
|
||||
_stacksize = 0;
|
||||
@ -85,9 +63,6 @@ class Wfc<T> {
|
||||
}
|
||||
|
||||
_sumsOfOnes[i] = _nShingles;
|
||||
_sumsOfWeights[i] = _sumOfWeights;
|
||||
_sumsOfWeightLogWeights[i] = _sumOfWeightLogWeights;
|
||||
_entropies[i] = _startingEntropy;
|
||||
_observed[i] = null;
|
||||
}
|
||||
}
|
||||
@ -164,7 +139,7 @@ class Wfc<T> {
|
||||
continue;
|
||||
}
|
||||
var remainingValues = _sumsOfOnes[i];
|
||||
double entropy = remainingValues.toDouble(); // _entropies[i];
|
||||
double entropy = remainingValues.toDouble();
|
||||
if (remainingValues > 1 && entropy <= min) {
|
||||
double noise = 1E-6 * random.nextDouble();
|
||||
if (entropy + noise < min) {
|
||||
@ -235,11 +210,6 @@ class Wfc<T> {
|
||||
_stacksize++;
|
||||
|
||||
_sumsOfOnes[i] -= 1;
|
||||
_sumsOfWeights[i] -= _weight(t);
|
||||
_sumsOfWeightLogWeights[i] -= _weightLogWeights[t];
|
||||
|
||||
var sum = _sumsOfWeights[i];
|
||||
_entropies[i] = math.log(sum) - _sumsOfWeightLogWeights[i] / sum;
|
||||
}
|
||||
}
|
||||
|
||||
@ -266,7 +236,6 @@ class WfcTemplate<T> {
|
||||
final List<T> bitmap = [];
|
||||
for (var i = 0; i < sx * sy; i++) {
|
||||
var pixel = bytedata.getUint32(i * 4, Endian.little);
|
||||
log("pixel: $pixel");
|
||||
bitmap.add(cb(pixel));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user