void MagnetostaticCuda::encode(buffer* b) { LongRangeCuda::encode(b); for(int i=0; i<3; i++) encodeDouble(volumeDimensions[i], b); for(int i=0; i<9; i++) encodeDouble(ABC[i], b); encodeDouble(crossover_tolerance, b); }
void Thermal::encode(buffer* b) { ENCODE_PREAMBLE SpinOperation::encode(b); char version = 0; encodeChar(version, b); encodeDouble(temperature, b); scale->encode(b); }
void encodeIDBKey(const IDBKey& key, Vector<char>& into) { size_t previousSize = into.size(); ASSERT(key.isValid()); switch (key.type()) { case IDBKey::InvalidType: case IDBKey::MinType: ASSERT_NOT_REACHED(); into.append(encodeByte(IDBKeyNullTypeByte)); return; case IDBKey::ArrayType: { into.append(encodeByte(IDBKeyArrayTypeByte)); size_t length = key.array().size(); into.append(encodeVarInt(length)); for (size_t i = 0; i < length; ++i) encodeIDBKey(*key.array()[i], into); ASSERT_UNUSED(previousSize, into.size() > previousSize); return; } case IDBKey::StringType: into.append(encodeByte(IDBKeyStringTypeByte)); into.append(encodeStringWithLength(key.string())); ASSERT_UNUSED(previousSize, into.size() > previousSize); return; case IDBKey::DateType: into.append(encodeByte(IDBKeyDateTypeByte)); into.append(encodeDouble(key.date())); ASSERT_UNUSED(previousSize, into.size() - previousSize == 9); return; case IDBKey::NumberType: into.append(encodeByte(IDBKeyNumberTypeByte)); into.append(encodeDouble(key.number())); ASSERT_UNUSED(previousSize, into.size() - previousSize == 9); return; } ASSERT_NOT_REACHED(); }
void ShortRange::encode(buffer* b) { ENCODE_PREAMBLE SpinOperation::encode(b); char version = 0; encodeChar(version, b); encodeInteger(pbc[0], b); encodeInteger(pbc[1], b); encodeInteger(pbc[2], b); encodeInteger(num, b); for(int i=0; i<num; i++) { encodeInteger(pathways[i].fromsite, b); encodeInteger(pathways[i].tosite, b); encodeDouble(pathways[i].strength, b); for(int j=0; j<9; j++) encodeDouble(pathways[i].matrix[j], b); encodeDouble(pathways[i].sig_dot_sig_pow, b); } }
static uint32_t writeDate(std::vector<uint8_t>& buffer, const Date& value) { uint32_t size = 0; uint32_t ret = encodeDouble(buffer, value.ms); if (ret == 0) // date in milliseconds from 01/01/1970 { return 0; } size += ret; ret = encodeInt(buffer, 4, value.timezone); if (ret == 0) // unsupported timezone { return 0; } size += ret; return size; }
// writing static uint32_t writeNumber(std::vector<uint8_t>& buffer, double value) { uint32_t ret = encodeDouble(buffer, value); return ret; }