Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags
author: kx <kx@radix-linux.su> 2024-12-20 16:11:07 +0300 committer: kx <kx@radix-linux.su> 2024-12-20 16:11:07 +0300 commit: 868b2b66b564b5c00e3a74d10be45db7151627ac parent: cce2ae8d3312493b7653358bb4af201d3271377b
Commit Summary:
Version 1.0.14
Diffstat:
4 files changed, 164 insertions, 0 deletions
diff --git a/mpu/etens/emu00256/ei_mtens_002_emu32lsb.dfn b/mpu/etens/emu00256/ei_mtens_002_emu32lsb.dfn
new file mode 100644
index 0000000..724644c
--- /dev/null
+++ b/mpu/etens/emu00256/ei_mtens_002_emu32lsb.dfn
@@ -0,0 +1,46 @@
+
+#ifndef   __REAL_EINTERNAL_MTENS_002_32LSB
+#define   __REAL_EINTERNAL_MTENS_002_32LSB
+
+#if BITS_PER_EMUSHORT == 32
+
+static EMUSHORT _ei_mtens_256_[NTEN_256+1][NPIR_256] =
+{
+/*   lgw         S i g n i f i c a n d                                                               hgw         Exp         Sign     */
+/*  ==========  ==================================================================================  ==========  ==========  ==========*/
+  { 0x00000000, 0x63d030c7, 0x083cc9bc, 0x284cc701, 0xcab1ea5a, 0x5ed1c885, 0xb0082efb, 0x847c7fa4, 0x00000000, 0x0ad961ec, 0x00000000 }, /* 10**-268435456 */
+  { 0x00000000, 0xb72193ca, 0x363d806e, 0xf0531f32, 0x6d019783, 0x64684b3a, 0x334d7a81, 0xb82a1134, 0x00000000, 0x256cb0f5, 0x00000000 }, /* 10**-134217728 */
+  { 0x00000000, 0xc818f07c, 0x0efe214e, 0xf82ce629, 0x85047278, 0xb927999a, 0xac15477e, 0x9988fdbc, 0x00000000, 0x32b6587a, 0x00000000 }, /* 10**-067108864 */
+  { 0x00000000, 0xc448b501, 0x5d2f8ba3, 0xc57687f8, 0x6fd0d410, 0xee0032b5, 0xf044b8a4, 0xc6413ec6, 0x00000000, 0x395b2c3c, 0x00000000 }, /* 10**-033554432 */
+  { 0x00000000, 0xb601eaaa, 0xd7657503, 0x6af9b938, 0x2a519e33, 0x65d30b48, 0x3af21be6, 0xe148e940, 0x00000000, 0x3cad961d, 0x00000000 }, /* 10**-016777216 */
+  { 0x00000000, 0xfe12bb09, 0x054df827, 0x9c87cd6a, 0x7b36c936, 0x47434a70, 0x34c36502, 0xa9d020e2, 0x00000000, 0x3e56cb0e, 0x00000000 }, /* 10**-008388608 */
+  { 0x00000000, 0x901298ae, 0x436faed8, 0x581ed04f, 0x6e270b32, 0xced72f3a, 0xb99b9db0, 0xd07fece5, 0x00000000, 0x3f2b6586, 0x00000000 }, /* 10**-004194304 */
+  { 0x00000000, 0xf984fd47, 0xfcdff49b, 0x3fc4acdc, 0xe9a3ec8f, 0xf64372a3, 0x25b27986, 0xe708450f, 0x00000000, 0x3f95b2c2, 0x00000000 }, /* 10**-002097152 */
+  { 0x00000000, 0xecb650ec, 0xb3e120a3, 0xa8630850, 0x53c66c1f, 0x50237f60, 0xf4226e8e, 0xf33229bb, 0x00000000, 0x3fcad960, 0x00000000 }, /* 10**-001048576 */
+  { 0x00000000, 0xa65ae53f, 0xb630b0f5, 0xc6f9d80b, 0x0abb2f92, 0xa9519efc, 0xad1ffa36, 0xf9840f38, 0x00000000, 0x3fe56caf, 0x00000000 }, /* 10**-000524288 */
+  { 0x00000000, 0xee937592, 0x482448ca, 0x4b17aa38, 0x01cf3b1e, 0xc34ec2f1, 0x9d3f7af4, 0xb2b64ef1, 0x00000000, 0x3ff2b657, 0x00000000 }, /* 10**-000262144 */
+  { 0x00000000, 0xfec905dd, 0x168e9301, 0xfb30d3b4, 0x8e195e6d, 0x58600399, 0x21687655, 0x973ecee3, 0x00000000, 0x3ff95b2b, 0x00000000 }, /* 10**-000131072 */
+  { 0x00000000, 0x09485a2e, 0x65d787bf, 0x99f6b651, 0x30320e73, 0x2591506b, 0xdc628061, 0x8b2358eb, 0x00000000, 0x3ffcad95, 0x00000000 }, /* 10**-000065536 */
+  { 0x00000000, 0xd31fa9e9, 0x6f5893a0, 0xd2b17e71, 0xa73abf7c, 0x718e8c4e, 0x5ca085e5, 0x8573f08e, 0x00000000, 0x3ffe56ca, 0x00000000 }, /* 10**-000032768 */
+  { 0x00000000, 0xed34b135, 0xbfe56662, 0x538a30f4, 0x4283bb25, 0x456e9e09, 0x0e108517, 0xb8d5bbe7, 0x00000000, 0x3fff2b64, 0x00000000 }, /* 10**-000016384 */
+  { 0x00000000, 0x6e7aeb05, 0x9aee88f7, 0xeef18384, 0x5b05f4c2, 0x5d1d4fd8, 0x686da869, 0xd986c20b, 0x00000000, 0x3fff95b1, 0x00000000 }, /* 10**-000008192 */
+  { 0x00000000, 0x5e2d7b14, 0x44e091ba, 0x20305d02, 0xa1c3cffc, 0x2de38123, 0xd2ce9fde, 0xa6dd04c8, 0x00000000, 0x3fffcad8, 0x00000000 }, /* 10**-000004096 */
+  { 0x00000000, 0x71aad9f0, 0xbc774bd9, 0x8263ca5c, 0xf2ead2cb, 0x492512d4, 0x34362de4, 0xceae534f, 0x00000000, 0x3fffe56b, 0x00000000 }, /* 10**-000002048 */
+  { 0x00000000, 0xc0eb00f0, 0xb2357c32, 0xf53e94d1, 0x6bd3f698, 0x87a60158, 0xda57c0bd, 0xa2a682a5, 0x00000000, 0x3ffff2b5, 0x00000000 }, /* 10**-000001024 */
+  { 0x00000000, 0xd4c94b61, 0x209b6a93, 0xe7317d62, 0xe3f204d4, 0x7132d332, 0xdb23d21c, 0x9049ee32, 0x00000000, 0x3ffff95a, 0x00000000 }, /* 10**-000000512 */
+  { 0x00000000, 0x9b0353f9, 0x7766e8cc, 0xa23e2ed2, 0xfefb5308, 0xfa911155, 0x637a1939, 0xc0314325, 0x00000000, 0x3ffffcac, 0x00000000 }, /* 10**-000000256 */
+  { 0x00000000, 0x4ed77647, 0x3461fffa, 0xe26ca606, 0xd05ddbde, 0xac7cb3f6, 0x64bce4a0, 0xddd0467c, 0x00000000, 0x3ffffe55, 0x00000000 }, /* 10**-000000128 */
+  { 0x00000000, 0x0e128b7a, 0xd90aab31, 0x2a1fee40, 0x47b36224, 0x3f2398d7, 0xa539e9a5, 0xa87fea27, 0x00000000, 0x3fffff2a, 0x00000000 }, /* 10**-000000064 */
+  { 0x00000000, 0x59e338f5, 0x28ccd99e, 0x0b5b1aa0, 0xa5814af2, 0x67de18ed, 0x453994ba, 0xcfb11ead, 0x00000000, 0x3fffff94, 0x00000000 }, /* 10**-000000032 */
+  { 0x00000000, 0x23ccd352, 0xdd27f085, 0xbf716c1a, 0x7989a9b3, 0x4c2ebe68, 0xc44de15b, 0xe69594be, 0x00000000, 0x3fffffc9, 0x00000000 }, /* 10**-000000016 */
+  { 0x00000000, 0x7068f3b8, 0x8161697c, 0x3d4d3d75, 0x36ba7c3d, 0xfdc20d2b, 0x8461cefc, 0xabcc7711, 0x00000000, 0x3fffffe4, 0x00000000 }, /* 10**-000000008 */
+  { 0x00000000, 0x67381d80, 0xf06f6944, 0xc154c985, 0x404ea4a8, 0xd3c36113, 0xe219652b, 0xd1b71758, 0x00000000, 0x3ffffff1, 0x00000000 }, /* 10**-000000004 */
+  { 0x00000000, 0x70a3d70b, 0xa3d70a3d, 0xd70a3d70, 0x0a3d70a3, 0x3d70a3d7, 0x70a3d70a, 0xa3d70a3d, 0x00000000, 0x3ffffff8, 0x00000000 }, /* 10**-000000002 */
+  { 0x00000000, 0xcccccccd, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0x00000000, 0x3ffffffb, 0x00000000 }  /* 10**-000000001 */
+};
+
+#else  /* BITS_PER_EMUSHORT != 32 */
+#error ei_mtens_002_emu32lsb.dfn: ERROR: Failed size of EMUSHORT data type.
+#endif /* BITS_PER_EMUSHORT == 32 */
+
+#endif /* __REAL_EINTERNAL_MTENS_002_32LSB */
diff --git a/mpu/etens/emu00256/ei_mtens_002_emu32msb.dfn b/mpu/etens/emu00256/ei_mtens_002_emu32msb.dfn
new file mode 100644
index 0000000..dfa90a6
--- /dev/null
+++ b/mpu/etens/emu00256/ei_mtens_002_emu32msb.dfn
@@ -0,0 +1,46 @@
+
+#ifndef   __REAL_EINTERNAL_MTENS_002_32MSB
+#define   __REAL_EINTERNAL_MTENS_002_32MSB
+
+#if BITS_PER_EMUSHORT == 32
+
+static EMUSHORT _ei_mtens_256_[NTEN_256+1][NPIR_256] =
+{
+/*   Sign        Exp         hgw         S i g n i f i c a n d                                                               lgw      */
+/*  ==========  ==========  ==========  ==================================================================================  ==========*/
+  { 0x00000000, 0x0ad961ec, 0x00000000, 0x847c7fa4, 0xb0082efb, 0x5ed1c885, 0xcab1ea5a, 0x284cc701, 0x083cc9bc, 0x63d030c7, 0x00000000 }, /* 10**-268435456 */
+  { 0x00000000, 0x256cb0f5, 0x00000000, 0xb82a1134, 0x334d7a81, 0x64684b3a, 0x6d019783, 0xf0531f32, 0x363d806e, 0xb72193ca, 0x00000000 }, /* 10**-134217728 */
+  { 0x00000000, 0x32b6587a, 0x00000000, 0x9988fdbc, 0xac15477e, 0xb927999a, 0x85047278, 0xf82ce629, 0x0efe214e, 0xc818f07c, 0x00000000 }, /* 10**-067108864 */
+  { 0x00000000, 0x395b2c3c, 0x00000000, 0xc6413ec6, 0xf044b8a4, 0xee0032b5, 0x6fd0d410, 0xc57687f8, 0x5d2f8ba3, 0xc448b501, 0x00000000 }, /* 10**-033554432 */
+  { 0x00000000, 0x3cad961d, 0x00000000, 0xe148e940, 0x3af21be6, 0x65d30b48, 0x2a519e33, 0x6af9b938, 0xd7657503, 0xb601eaaa, 0x00000000 }, /* 10**-016777216 */
+  { 0x00000000, 0x3e56cb0e, 0x00000000, 0xa9d020e2, 0x34c36502, 0x47434a70, 0x7b36c936, 0x9c87cd6a, 0x054df827, 0xfe12bb09, 0x00000000 }, /* 10**-008388608 */
+  { 0x00000000, 0x3f2b6586, 0x00000000, 0xd07fece5, 0xb99b9db0, 0xced72f3a, 0x6e270b32, 0x581ed04f, 0x436faed8, 0x901298ae, 0x00000000 }, /* 10**-004194304 */
+  { 0x00000000, 0x3f95b2c2, 0x00000000, 0xe708450f, 0x25b27986, 0xf64372a3, 0xe9a3ec8f, 0x3fc4acdc, 0xfcdff49b, 0xf984fd47, 0x00000000 }, /* 10**-002097152 */
+  { 0x00000000, 0x3fcad960, 0x00000000, 0xf33229bb, 0xf4226e8e, 0x50237f60, 0x53c66c1f, 0xa8630850, 0xb3e120a3, 0xecb650ec, 0x00000000 }, /* 10**-001048576 */
+  { 0x00000000, 0x3fe56caf, 0x00000000, 0xf9840f38, 0xad1ffa36, 0xa9519efc, 0x0abb2f92, 0xc6f9d80b, 0xb630b0f5, 0xa65ae53f, 0x00000000 }, /* 10**-000524288 */
+  { 0x00000000, 0x3ff2b657, 0x00000000, 0xb2b64ef1, 0x9d3f7af4, 0xc34ec2f1, 0x01cf3b1e, 0x4b17aa38, 0x482448ca, 0xee937592, 0x00000000 }, /* 10**-000262144 */
+  { 0x00000000, 0x3ff95b2b, 0x00000000, 0x973ecee3, 0x21687655, 0x58600399, 0x8e195e6d, 0xfb30d3b4, 0x168e9301, 0xfec905dd, 0x00000000 }, /* 10**-000131072 */
+  { 0x00000000, 0x3ffcad95, 0x00000000, 0x8b2358eb, 0xdc628061, 0x2591506b, 0x30320e73, 0x99f6b651, 0x65d787bf, 0x09485a2e, 0x00000000 }, /* 10**-000065536 */
+  { 0x00000000, 0x3ffe56ca, 0x00000000, 0x8573f08e, 0x5ca085e5, 0x718e8c4e, 0xa73abf7c, 0xd2b17e71, 0x6f5893a0, 0xd31fa9e9, 0x00000000 }, /* 10**-000032768 */
+  { 0x00000000, 0x3fff2b64, 0x00000000, 0xb8d5bbe7, 0x0e108517, 0x456e9e09, 0x4283bb25, 0x538a30f4, 0xbfe56662, 0xed34b135, 0x00000000 }, /* 10**-000016384 */
+  { 0x00000000, 0x3fff95b1, 0x00000000, 0xd986c20b, 0x686da869, 0x5d1d4fd8, 0x5b05f4c2, 0xeef18384, 0x9aee88f7, 0x6e7aeb05, 0x00000000 }, /* 10**-000008192 */
+  { 0x00000000, 0x3fffcad8, 0x00000000, 0xa6dd04c8, 0xd2ce9fde, 0x2de38123, 0xa1c3cffc, 0x20305d02, 0x44e091ba, 0x5e2d7b14, 0x00000000 }, /* 10**-000004096 */
+  { 0x00000000, 0x3fffe56b, 0x00000000, 0xceae534f, 0x34362de4, 0x492512d4, 0xf2ead2cb, 0x8263ca5c, 0xbc774bd9, 0x71aad9f0, 0x00000000 }, /* 10**-000002048 */
+  { 0x00000000, 0x3ffff2b5, 0x00000000, 0xa2a682a5, 0xda57c0bd, 0x87a60158, 0x6bd3f698, 0xf53e94d1, 0xb2357c32, 0xc0eb00f0, 0x00000000 }, /* 10**-000001024 */
+  { 0x00000000, 0x3ffff95a, 0x00000000, 0x9049ee32, 0xdb23d21c, 0x7132d332, 0xe3f204d4, 0xe7317d62, 0x209b6a93, 0xd4c94b61, 0x00000000 }, /* 10**-000000512 */
+  { 0x00000000, 0x3ffffcac, 0x00000000, 0xc0314325, 0x637a1939, 0xfa911155, 0xfefb5308, 0xa23e2ed2, 0x7766e8cc, 0x9b0353f9, 0x00000000 }, /* 10**-000000256 */
+  { 0x00000000, 0x3ffffe55, 0x00000000, 0xddd0467c, 0x64bce4a0, 0xac7cb3f6, 0xd05ddbde, 0xe26ca606, 0x3461fffa, 0x4ed77647, 0x00000000 }, /* 10**-000000128 */
+  { 0x00000000, 0x3fffff2a, 0x00000000, 0xa87fea27, 0xa539e9a5, 0x3f2398d7, 0x47b36224, 0x2a1fee40, 0xd90aab31, 0x0e128b7a, 0x00000000 }, /* 10**-000000064 */
+  { 0x00000000, 0x3fffff94, 0x00000000, 0xcfb11ead, 0x453994ba, 0x67de18ed, 0xa5814af2, 0x0b5b1aa0, 0x28ccd99e, 0x59e338f5, 0x00000000 }, /* 10**-000000032 */
+  { 0x00000000, 0x3fffffc9, 0x00000000, 0xe69594be, 0xc44de15b, 0x4c2ebe68, 0x7989a9b3, 0xbf716c1a, 0xdd27f085, 0x23ccd352, 0x00000000 }, /* 10**-000000016 */
+  { 0x00000000, 0x3fffffe4, 0x00000000, 0xabcc7711, 0x8461cefc, 0xfdc20d2b, 0x36ba7c3d, 0x3d4d3d75, 0x8161697c, 0x7068f3b8, 0x00000000 }, /* 10**-000000008 */
+  { 0x00000000, 0x3ffffff1, 0x00000000, 0xd1b71758, 0xe219652b, 0xd3c36113, 0x404ea4a8, 0xc154c985, 0xf06f6944, 0x67381d80, 0x00000000 }, /* 10**-000000004 */
+  { 0x00000000, 0x3ffffff8, 0x00000000, 0xa3d70a3d, 0x70a3d70a, 0x3d70a3d7, 0x0a3d70a3, 0xd70a3d70, 0xa3d70a3d, 0x70a3d70b, 0x00000000 }, /* 10**-000000002 */
+  { 0x00000000, 0x3ffffffb, 0x00000000, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccd, 0x00000000 }  /* 10**-000000001 */
+};
+
+#else  /* BITS_PER_EMUSHORT != 32 */
+#error ei_mtens_002_emu32msb.dfn: ERROR: Failed size of EMUSHORT data type.
+#endif /* BITS_PER_EMUSHORT == 32 */
+
+#endif /* __REAL_EINTERNAL_MTENS_002_32MSB */
diff --git a/mpu/etens/emu00256/ei_ptens_002_emu32lsb.dfn b/mpu/etens/emu00256/ei_ptens_002_emu32lsb.dfn
new file mode 100644
index 0000000..2e7ae16
--- /dev/null
+++ b/mpu/etens/emu00256/ei_ptens_002_emu32lsb.dfn
@@ -0,0 +1,46 @@
+
+#ifndef   __REAL_EINTERNAL_PTENS_002_32LSB
+#define   __REAL_EINTERNAL_PTENS_002_32LSB
+
+#if BITS_PER_EMUSHORT == 32
+
+static EMUSHORT _ei_tens_256_[NTEN_256+1][NPIR_256] =
+{
+/*   lgw         S i g n i f i c a n d                                                               hgw         Exp         Sign     */
+/*  ==========  ==================================================================================  ==========  ==========  ==========*/
+  { 0x00000000, 0x40028c35, 0xc51d745e, 0x577dc17b, 0x5d10664c, 0x38333bb0, 0x7260c2f4, 0xf754c8f1, 0x00000000, 0x75269e11, 0x00000000 }, /* 10**268435456 */
+  { 0x00000000, 0xa5fde456, 0x08132aa3, 0x665437e4, 0xa5acca51, 0x21f6be61, 0x91f3e887, 0xb1ed94f5, 0x00000000, 0x5a934f08, 0x00000000 }, /* 10**134217728 */
+  { 0x00000000, 0xd5f12ede, 0xddfb4c63, 0xbefbb783, 0x5ff0f81a, 0x6a4e9db4, 0xa9f59ec9, 0xd56c6931, 0x00000000, 0x4d49a783, 0x00000000 }, /* 10**067108864 */
+  { 0x00000000, 0xc42173b8, 0x6a2fe470, 0x0099d93c, 0xd8115a6a, 0xf5cbd79d, 0x3ab27119, 0xa5483e39, 0x00000000, 0x46a4d3c1, 0x00000000 }, /* 10**033554432 */
+  { 0x00000000, 0xa1d175c5, 0xaf9b56fc, 0xd308a9f0, 0x439ec3c6, 0xde7dce55, 0x056faab9, 0x9173919a, 0x00000000, 0x435269e0, 0x00000000 }, /* 10**016777216 */
+  { 0x00000000, 0x9d702883, 0xe541c7d7, 0x31b4e55b, 0x3a7f0e40, 0x842994ac, 0xe5ded62a, 0xc0f71767, 0x00000000, 0x41a934ef, 0x00000000 }, /* 10**008388608 */
+  { 0x00000000, 0x1fc7c41c, 0x31b66934, 0x5e7e6377, 0x028ebfdd, 0xe8682d57, 0xf9d3abca, 0x9d293029, 0x00000000, 0x40d49a77, 0x00000000 }, /* 10**004194304 */
+  { 0x00000000, 0xb3b64804, 0x9d7b65fc, 0x6b770ccd, 0x212ebf2b, 0x078f5c33, 0xc84776a2, 0x8dd53e24, 0x00000000, 0x406a4d3b, 0x00000000 }, /* 10**002097152 */
+  { 0x00000000, 0x7e80fc02, 0x48277f26, 0xf3b04ad4, 0x2922cc45, 0x802f7541, 0x56458f50, 0x86bd34c2, 0x00000000, 0x4035269d, 0x00000000 }, /* 10**001048576 */
+  { 0x00000000, 0x75dd381d, 0x30803234, 0x7c8bc2d9, 0xf5c3f7ea, 0x672f8d86, 0x24b7c316, 0x835389e3, 0x00000000, 0x401a934e, 0x00000000 }, /* 10**000524288 */
+  { 0x00000000, 0xd391e06d, 0x62ea5dc8, 0xf6628397, 0xc1c080a6, 0xe01ab22e, 0xbaad6104, 0xb75b3786, 0x00000000, 0x400d49a6, 0x00000000 }, /* 10**000262144 */
+  { 0x00000000, 0x741440eb, 0xcfa3bc72, 0x1cd54215, 0x1ee8580d, 0x084da5a2, 0xfe7769bd, 0xd8a7940b, 0x00000000, 0x4006a4d2, 0x00000000 }, /* 10**000131072 */
+  { 0x00000000, 0x0c03d7a6, 0xc718ebe1, 0x4ba19289, 0x6ae2e412, 0x71cf5553, 0xf0160e7f, 0xeb81cf19, 0x00000000, 0x40035268, 0x00000000 }, /* 10**000065536 */
+  { 0x00000000, 0x00ba36e3, 0x13afdf93, 0xa3a3210f, 0xdbaa558b, 0xb3c1068f, 0x5783a749, 0xf58a326a, 0x00000000, 0x4001a933, 0x00000000 }, /* 10**000032768 */
+  { 0x00000000, 0x7c4f55ec, 0x2888144a, 0xeea4a43b, 0x4dc6c888, 0x6226e113, 0xf16603b5, 0xb1485471, 0x00000000, 0x4000d499, 0x00000000 }, /* 10**000016384 */
+  { 0x00000000, 0x412e08ec, 0xceb5055e, 0x072b211a, 0x305f4e12, 0x0c7c2892, 0x7faf211a, 0x96a3a1d1, 0x00000000, 0x40006a4c, 0x00000000 }, /* 10**000008192 */
+  { 0x00000000, 0xdd5cf7bb, 0x444e2267, 0x65761fb2, 0x804a4a92, 0xc94c153f, 0x8a20979a, 0xc4605202, 0x00000000, 0x40003525, 0x00000000 }, /* 10**000004096 */
+  { 0x00000000, 0x77154cdd, 0xebe3034f, 0x6a3197bb, 0x329ace52, 0xa74d28ce, 0xc53d5de4, 0x9e8b3b5d, 0x00000000, 0x40001a92, 0x00000000 }, /* 10**000002048 */
+  { 0x00000000, 0xd6f4b6cf, 0x75249b0f, 0x526b9882, 0xf18b50ce, 0x650d3d28, 0x81750c17, 0xc9767586, 0x00000000, 0x40000d48, 0x00000000 }, /* 10**000001024 */
+  { 0x00000000, 0x422d38e8, 0x1d134cba, 0x9c658398, 0xbc5058f8, 0xcc655c54, 0xa60e91c6, 0xe319a0ae, 0x00000000, 0x400006a3, 0x00000000 }, /* 10**000000512 */
+  { 0x00000000, 0xae780c7f, 0x3de2f98a, 0x851e4cbf, 0x98feeab7, 0xddbb901b, 0x9df9de8d, 0xaa7eebfb, 0x00000000, 0x40000351, 0x00000000 }, /* 10**000000256 */
+  { 0x00000000, 0x0bc3c54e, 0x7b08dd39, 0x0234f3fd, 0x36b10137, 0xc66f336c, 0x80e98cdf, 0x93ba47c9, 0x00000000, 0x400001a8, 0x00000000 }, /* 10**000000128 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x50f80800, 0xc76b25fb, 0x3cbf6b71, 0xffcfa6d5, 0xc2781f49, 0x00000000, 0x400000d3, 0x00000000 }, /* 10**000000064 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf0200000, 0x2b70b59d, 0x9dc5ada8, 0x00000000, 0x40000069, 0x00000000 }, /* 10**000000032 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000000, 0x8e1bc9bf, 0x00000000, 0x40000034, 0x00000000 }, /* 10**000000016 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xbebc2000, 0x00000000, 0x40000019, 0x00000000 }, /* 10**000000008 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x9c400000, 0x00000000, 0x4000000c, 0x00000000 }, /* 10**000000004 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc8000000, 0x00000000, 0x40000005, 0x00000000 }, /* 10**000000002 */
+  { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xa0000000, 0x00000000, 0x40000002, 0x00000000 }  /* 10**000000001 */
+};
+
+#else  /* BITS_PER_EMUSHORT != 32 */
+#error ei_ptens_002_emu32lsb.dfn: ERROR: Failed size of EMUSHORT data type.
+#endif /* BITS_PER_EMUSHORT == 32 */
+
+#endif /* __REAL_EINTERNAL_PTENS_002_32LSB */
diff --git a/mpu/etens/emu00256/ei_ptens_002_emu32msb.dfn b/mpu/etens/emu00256/ei_ptens_002_emu32msb.dfn
new file mode 100644
index 0000000..6a40657
--- /dev/null
+++ b/mpu/etens/emu00256/ei_ptens_002_emu32msb.dfn
@@ -0,0 +1,46 @@
+
+#ifndef   __REAL_EINTERNAL_PTENS_002_32MSB
+#define   __REAL_EINTERNAL_PTENS_002_32MSB
+
+#if BITS_PER_EMUSHORT == 32
+
+static EMUSHORT _ei_tens_256_[NTEN_256+1][NPIR_256] =
+{
+/*   Sign        Exp         hgw         S i g n i f i c a n d                                                               lgw      */
+/*  ==========  ==========  ==========  ==================================================================================  ==========*/
+  { 0x00000000, 0x75269e11, 0x00000000, 0xf754c8f1, 0x7260c2f4, 0x38333bb0, 0x5d10664c, 0x577dc17b, 0xc51d745e, 0x40028c35, 0x00000000 }, /* 10**268435456 */
+  { 0x00000000, 0x5a934f08, 0x00000000, 0xb1ed94f5, 0x91f3e887, 0x21f6be61, 0xa5acca51, 0x665437e4, 0x08132aa3, 0xa5fde456, 0x00000000 }, /* 10**134217728 */
+  { 0x00000000, 0x4d49a783, 0x00000000, 0xd56c6931, 0xa9f59ec9, 0x6a4e9db4, 0x5ff0f81a, 0xbefbb783, 0xddfb4c63, 0xd5f12ede, 0x00000000 }, /* 10**067108864 */
+  { 0x00000000, 0x46a4d3c1, 0x00000000, 0xa5483e39, 0x3ab27119, 0xf5cbd79d, 0xd8115a6a, 0x0099d93c, 0x6a2fe470, 0xc42173b8, 0x00000000 }, /* 10**033554432 */
+  { 0x00000000, 0x435269e0, 0x00000000, 0x9173919a, 0x056faab9, 0xde7dce55, 0x439ec3c6, 0xd308a9f0, 0xaf9b56fc, 0xa1d175c5, 0x00000000 }, /* 10**016777216 */
+  { 0x00000000, 0x41a934ef, 0x00000000, 0xc0f71767, 0xe5ded62a, 0x842994ac, 0x3a7f0e40, 0x31b4e55b, 0xe541c7d7, 0x9d702883, 0x00000000 }, /* 10**008388608 */
+  { 0x00000000, 0x40d49a77, 0x00000000, 0x9d293029, 0xf9d3abca, 0xe8682d57, 0x028ebfdd, 0x5e7e6377, 0x31b66934, 0x1fc7c41c, 0x00000000 }, /* 10**004194304 */
+  { 0x00000000, 0x406a4d3b, 0x00000000, 0x8dd53e24, 0xc84776a2, 0x078f5c33, 0x212ebf2b, 0x6b770ccd, 0x9d7b65fc, 0xb3b64804, 0x00000000 }, /* 10**002097152 */
+  { 0x00000000, 0x4035269d, 0x00000000, 0x86bd34c2, 0x56458f50, 0x802f7541, 0x2922cc45, 0xf3b04ad4, 0x48277f26, 0x7e80fc02, 0x00000000 }, /* 10**001048576 */
+  { 0x00000000, 0x401a934e, 0x00000000, 0x835389e3, 0x24b7c316, 0x672f8d86, 0xf5c3f7ea, 0x7c8bc2d9, 0x30803234, 0x75dd381d, 0x00000000 }, /* 10**000524288 */
+  { 0x00000000, 0x400d49a6, 0x00000000, 0xb75b3786, 0xbaad6104, 0xe01ab22e, 0xc1c080a6, 0xf6628397, 0x62ea5dc8, 0xd391e06d, 0x00000000 }, /* 10**000262144 */
+  { 0x00000000, 0x4006a4d2, 0x00000000, 0xd8a7940b, 0xfe7769bd, 0x084da5a2, 0x1ee8580d, 0x1cd54215, 0xcfa3bc72, 0x741440eb, 0x00000000 }, /* 10**000131072 */
+  { 0x00000000, 0x40035268, 0x00000000, 0xeb81cf19, 0xf0160e7f, 0x71cf5553, 0x6ae2e412, 0x4ba19289, 0xc718ebe1, 0x0c03d7a6, 0x00000000 }, /* 10**000065536 */
+  { 0x00000000, 0x4001a933, 0x00000000, 0xf58a326a, 0x5783a749, 0xb3c1068f, 0xdbaa558b, 0xa3a3210f, 0x13afdf93, 0x00ba36e3, 0x00000000 }, /* 10**000032768 */
+  { 0x00000000, 0x4000d499, 0x00000000, 0xb1485471, 0xf16603b5, 0x6226e113, 0x4dc6c888, 0xeea4a43b, 0x2888144a, 0x7c4f55ec, 0x00000000 }, /* 10**000016384 */
+  { 0x00000000, 0x40006a4c, 0x00000000, 0x96a3a1d1, 0x7faf211a, 0x0c7c2892, 0x305f4e12, 0x072b211a, 0xceb5055e, 0x412e08ec, 0x00000000 }, /* 10**000008192 */
+  { 0x00000000, 0x40003525, 0x00000000, 0xc4605202, 0x8a20979a, 0xc94c153f, 0x804a4a92, 0x65761fb2, 0x444e2267, 0xdd5cf7bb, 0x00000000 }, /* 10**000004096 */
+  { 0x00000000, 0x40001a92, 0x00000000, 0x9e8b3b5d, 0xc53d5de4, 0xa74d28ce, 0x329ace52, 0x6a3197bb, 0xebe3034f, 0x77154cdd, 0x00000000 }, /* 10**000002048 */
+  { 0x00000000, 0x40000d48, 0x00000000, 0xc9767586, 0x81750c17, 0x650d3d28, 0xf18b50ce, 0x526b9882, 0x75249b0f, 0xd6f4b6cf, 0x00000000 }, /* 10**000001024 */
+  { 0x00000000, 0x400006a3, 0x00000000, 0xe319a0ae, 0xa60e91c6, 0xcc655c54, 0xbc5058f8, 0x9c658398, 0x1d134cba, 0x422d38e8, 0x00000000 }, /* 10**000000512 */
+  { 0x00000000, 0x40000351, 0x00000000, 0xaa7eebfb, 0x9df9de8d, 0xddbb901b, 0x98feeab7, 0x851e4cbf, 0x3de2f98a, 0xae780c7f, 0x00000000 }, /* 10**000000256 */
+  { 0x00000000, 0x400001a8, 0x00000000, 0x93ba47c9, 0x80e98cdf, 0xc66f336c, 0x36b10137, 0x0234f3fd, 0x7b08dd39, 0x0bc3c54e, 0x00000000 }, /* 10**000000128 */
+  { 0x00000000, 0x400000d3, 0x00000000, 0xc2781f49, 0xffcfa6d5, 0x3cbf6b71, 0xc76b25fb, 0x50f80800, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000064 */
+  { 0x00000000, 0x40000069, 0x00000000, 0x9dc5ada8, 0x2b70b59d, 0xf0200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000032 */
+  { 0x00000000, 0x40000034, 0x00000000, 0x8e1bc9bf, 0x04000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000016 */
+  { 0x00000000, 0x40000019, 0x00000000, 0xbebc2000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000008 */
+  { 0x00000000, 0x4000000c, 0x00000000, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000004 */
+  { 0x00000000, 0x40000005, 0x00000000, 0xc8000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* 10**000000002 */
+  { 0x00000000, 0x40000002, 0x00000000, 0xa0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }  /* 10**000000001 */
+};
+
+#else  /* BITS_PER_EMUSHORT != 32 */
+#error ei_ptens_002_emu32msb.dfn: ERROR: Failed size of EMUSHORT data type.
+#endif /* BITS_PER_EMUSHORT == 32 */
+
+#endif /* __REAL_EINTERNAL_PTENS_002_32MSB */