akulikov 2023-12-07 19:13:06 +03:00
parent 49b3191a63
commit 8fe43dee98
3 changed files with 16 additions and 2 deletions

View file

@ -115,6 +115,12 @@ public class ImdgPredicateBuilderHazelcast implements ImdgPredicateBuilder {
@Override
public ImdgPredicate zero(String key) {
return new ImdgPredicateHazelcast(Predicates.between(key, -0.000000000001, 0.000000000001));
return zero(key, 10);
}
@Override
public ImdgPredicate zero(String key, int scale) {
double zeros = Math.pow(0.1, scale);
return new ImdgPredicateHazelcast(Predicates.between(key, -zeros, +zeros));
}
}

View file

@ -22,5 +22,7 @@ public interface ImdgPredicateBuilder {
ImdgPredicate alwaysTrue();
ImdgPredicate alwaysFalse();
ImdgPredicate zero(String key, int scale);
ImdgPredicate zero(String key);
}

View file

@ -107,7 +107,13 @@ public class ImdgPredicateBuilderSqlMock implements ImdgPredicateBuilder {
@Override
public ImdgPredicate zero(String key) {
return sql(key + " > -0.0000000000001 and " + key + " < 0.0000000000001");
return zero(key, 10);
}
@Override
public ImdgPredicate zero(String key, int scale) {
String zeros = "0." + "0".repeat(scale) + "1";
return sql("%s > -%s and %s < %s".formatted(key, zeros, key, zeros));
}
static class SimpleSQLPredicate implements ImdgPredicate {