import { atoi } from "../../util/atoi"; export function deserializeUnsigned_NAIVE( srcStart: usize, srcEnd: usize, ): T { return atoi(srcStart, srcEnd); } export function deserializeUnsignedField_NAIVE( srcStart: usize, srcEnd: usize, dstObj: usize, dstOffset: usize = 0, ): usize { const fieldPtr = dstObj + dstOffset; let digit = load(srcStart) - 48; if (digit > 9) unreachable(); if (sizeof() == sizeof()) { let value: u64 = digit; srcStart += 2; while (srcStart < srcEnd) { digit = load(srcStart) - 48; if (digit > 9) break; value = value * 10 + digit; srcStart += 2; } store(fieldPtr, value); return srcStart; } else if (sizeof() == sizeof()) { let value: u64 = digit; srcStart += 2; while (srcStart < srcEnd) { digit = load(srcStart) - 48; if (digit > 9) break; value = value * 10 + digit; srcStart += 2; } store(fieldPtr, value); return srcStart; } else if (sizeof() == sizeof()) { let value: u64 = digit; srcStart += 2; while (srcStart < srcEnd) { digit = load(srcStart) - 48; if (digit > 9) break; value = value * 10 + digit; srcStart += 2; } store(fieldPtr, value); return srcStart; } else { 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, value); } else { store(fieldPtr, value); } return srcStart; } }