Initial Dever 0.0.1

This commit is contained in:
Codex committed 2026-11-03 03:32:07 +00:00
commit 81233d098c
1479 files changed
+163782

No files matched your search

+68
View File
@@ -0,0 +1,68 @@
decimalClass(value: null) (answer: Int) pure { answer = 2 }
decimalClass(value: Decimal < 0.0) (answer: Int) pure { answer = -1 }
decimalClass(value: 0.0) (answer: Int) pure { answer = 0 }
decimalClass(value: other) (answer: Int) pure { answer = 1 }
decimalEdge(value: Decimal <= 1.0) (answer: Int) pure { answer = 0 }
decimalEdge(value: Decimal >= 1.000000000000000000000000000000001) (answer: Int) pure { answer = 1 }
floatClass(value: other) (answer: Int) pure { answer = 2 }
floatClass(value: 1.0e0) (answer: Int) pure { answer = 1 }
floatClass(value: 0.0e0) (answer: Int) pure { answer = 0 }
floatClass(value: null) (answer: Int) pure { answer = -1 }
floatTotal(values: List<Float?>) (answer: Int) pure {
answer = sum(floatClass, values)
}
zeroInverse(value: 0.0e0) (answer: Float) pure { answer = 1.0e0 / value }
zeroInverse(value: other) (answer: Float) pure { answer = 0.0e0 }
combined(left: other, right: other) (answer: Int) pure { answer = 6 }
combined(left: null, right: Int < 0) (answer: Int) pure { answer = 1 }
combined(left: false, right: other) (answer: Int) pure { answer = 4 }
combined(left: other, right: Int < 0) (answer: Int) pure { answer = 5 }
combined(left: null, right: other) (answer: Int) pure { answer = 2 }
combined(left: false, right: Int < 0) (answer: Int) pure { answer = 3 }
verify() (answer: Bool) {
decimals = decimalClass(-0.1) == -1 and decimalClass(-0.0) == 0 and decimalClass(0.1) == 1 and decimalClass(null) == 2
edges = decimalEdge(1.0) == 0 and decimalEdge(1.000000000000000000000000000000001) == 1
floats = floatClass(null) == -1 and floatClass(1.0e0) == 1 and floatClass(-0.0e0) == 0
special = floatClass(0.0e0 / 0.0e0) == 2 and floatClass(1.0e0 / 0.0e0) == 2 and floatClass(-1.0e0 / 0.0e0) == 2
signs = zeroInverse(-0.0e0) < 0.0e0 and zeroInverse(0.0e0) > 0.0e0
absent = combined(null, -9223372036854775808) == 1 and combined(null, 0) == 2
disabled = combined(false, -1) == 3 and combined(false, 9223372036854775807) == 4
enabled = combined(true, -1) == 5 and combined(true, 0) == 6
batch = floatTotal([]) == 0 and floatTotal([null, -0.0e0, 1.0e0, -1.0e0]) == 2
optional = optionalTotal([], null) == null and optionalTotal([1, 2], null) == 3 and optionalTotal([1, 2], 4) == 7
context = shifted([1, 2], null) == [1, 2] and shifted([1, 2], 3) == [4, 5] and length(shifted([], 3)) == 0
original = optionalTotal([3], null)
changed = cleared(original)
copies = original == 3 and changed.old == 3 and changed.changed == null
nullable_signs = nullableInverse(null) == 0.0e0 and nullableInverse(-0.0e0) < 0.0e0 and nullableInverse(0.0e0) > 0.0e0
answer = decimals and edges and floats and special and signs and absent and disabled and enabled and batch and optional and context and copies and nullable_signs
}
accumulate(value: Int, state: null) (answer: Int?) pure { answer = value }
accumulate(value: Int, state: Int) (answer: Int?) pure { answer = state + value }
optionalTotal(values: List<Int>, initial: Int?) (answer: Int?) pure {
answer = reduce(accumulate, values, initial)
}
offset(value: Int, extra: null) (answer: Int) pure { answer = value }
offset(value: Int, extra: Int) (answer: Int) pure { answer = value + extra }
shifted(values: List<Int>, extra: Int?) (answer: List<Int>) pure {
answer = each(offset, values, extra)
}
cleared(value: Int?) (old: Int?, changed: Int?) pure {
old = value
value = null
changed = value
}
nullableInverse(value: null) (answer: Float) pure { answer = 0.0e0 }
nullableInverse(value: Float) (answer: Float) pure { answer = 1.0e0 / value }