// are needed. Logarithms are implemented using a polynomial that is accurate in the range of
// [1, 2], and then utilizes this identity for values outside of that range,
//
-// ln(x) = ln(2&n * v) = n * ln(2) + ln(v), v is in [1, 2]
+// ln(x) = ln(2^n * v) = n * ln(2) + ln(v), v is in [1, 2]
//
// FIX: This definition is very wrong. It casts E to be whatever the type of the argument is,
return .{ into.data, into.count };
}
+#overload
+concat :: (into: &[..] u8, chars: ..u8) -> str {
+ array.ensure_capacity(into, into.count + chars.count);
+ for c: chars {
+ memory.copy(into.data + into.count, cast(rawptr) &.[c], 1);
+ into.count += 1;
+ }
+ return .{ into.data, into.count };
+}
+
contains :: #match #local {}