#pragma once
namespace _enity_ {
  //! для плотного хранения параметров
  union data64_t {
    double d0; // 64
    int64_t i64_0; // 64
    uint64_t u64_0; // 64
    int32_t i32_0, i32_1; // 32 32
    uint32_t u32_0, u32_1; // 32 32
    float f0, f1; // 32 32
    int16_t s0, s1; // 16 16 16 16
    uint16_t us0, us1; // 16 16 16 16
    int8_t c0, c1, c2, c3, c4, c5, c6, c7; // 8 8 8 8 8 8 8 8
    uint8_t b0, b1, b2, b3, b4, b5, b6, b7; // 8 8 8 8 8 8 8 8
  };
} // _enity_ ns
#ifdef DEBUG
#include <cassert>
static_assert(sizeof(double) == 8);
static_assert(sizeof(float) == 4);
static_assert(sizeof(_enity_::data64_t) == 8);
#endif