import { atoi } from "../../util/atoi"; export function deserializeInteger_NAIVE( srcStart: usize, srcEnd: usize, ): T { return atoi(srcStart, srcEnd); } export function deserializeIntegerField_NAIVE( srcStart: usize, srcEnd: usize, dstObj: usize, dstOffset: usize = 0, ): usize { const fieldPtr = dstObj + dstOffset; let negative = false; if (load(srcStart) == 45) { negative = true; srcStart += 2; if (srcStart >= srcEnd) unreachable(); } let digit = load(srcStart) - 48; if (digit > 9) unreachable(); let value: u64 = digit; srcStart += 2; while (srcStart < srcEnd) { digit = load(srcStart) - 48; if (digit > 9) break; value = value * 10 + digit; srcStart += 2; } if (sizeof() == sizeof()) { store(fieldPtr, negative ? -(value) : value); } else if (sizeof() == sizeof()) { store(fieldPtr, negative ? -(value) : value); } else if (sizeof() == sizeof()) { store(fieldPtr, negative ? -(value) : value); } else if (sizeof() == sizeof()) { store(fieldPtr, negative ? -(value) : value); } else { store(fieldPtr, negative ? -(value) : value); } return srcStart; }