File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / libntp / tstotv.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:08:38 2012 UTC (12 years, 5 months ago) by misho
Branches: ntp, MAIN
CVS tags: v4_2_6p5p0, v4_2_6p5, HEAD
ntp 4.2.6p5

    1: /*
    2:  * tstotv - tables for converting from NTP time stamps to struct timeval
    3:  */
    4: 
    5: #include "ntp_types.h"
    6: 
    7: /*
    8:  * Tables to convert from a time stamp fraction to usecs.  Note that
    9:  * the units of these tables are actually (usec<<3).  We carry three
   10:  * guard bits so that the result can be properly truncated (or rounded)
   11:  * to be correct to the least significant bit.
   12:  *
   13:  * These tables are rounded.
   14:  */
   15: 
   16: long tstoushi[256] = {
   17: 	0x000000, 0x007a12, 0x00f424, 0x016e36,
   18: 	0x01e848, 0x02625a, 0x02dc6c, 0x03567e,
   19: 	0x03d090, 0x044aa2, 0x04c4b4, 0x053ec6,
   20: 	0x05b8d8, 0x0632ea, 0x06acfc, 0x07270e,
   21: 	0x07a120, 0x081b32, 0x089544, 0x090f56,
   22: 	0x098968, 0x0a037a, 0x0a7d8c, 0x0af79e,
   23: 	0x0b71b0, 0x0bebc2, 0x0c65d4, 0x0cdfe6,
   24: 	0x0d59f8, 0x0dd40a, 0x0e4e1c, 0x0ec82e,
   25: 	0x0f4240, 0x0fbc52, 0x103664, 0x10b076,
   26: 	0x112a88, 0x11a49a, 0x121eac, 0x1298be,
   27: 	0x1312d0, 0x138ce2, 0x1406f4, 0x148106,
   28: 	0x14fb18, 0x15752a, 0x15ef3c, 0x16694e,
   29: 	0x16e360, 0x175d72, 0x17d784, 0x185196,
   30: 	0x18cba8, 0x1945ba, 0x19bfcc, 0x1a39de,
   31: 	0x1ab3f0, 0x1b2e02, 0x1ba814, 0x1c2226,
   32: 	0x1c9c38, 0x1d164a, 0x1d905c, 0x1e0a6e,
   33: 	0x1e8480, 0x1efe92, 0x1f78a4, 0x1ff2b6,
   34: 	0x206cc8, 0x20e6da, 0x2160ec, 0x21dafe,
   35: 	0x225510, 0x22cf22, 0x234934, 0x23c346,
   36: 	0x243d58, 0x24b76a, 0x25317c, 0x25ab8e,
   37: 	0x2625a0, 0x269fb2, 0x2719c4, 0x2793d6,
   38: 	0x280de8, 0x2887fa, 0x29020c, 0x297c1e,
   39: 	0x29f630, 0x2a7042, 0x2aea54, 0x2b6466,
   40: 	0x2bde78, 0x2c588a, 0x2cd29c, 0x2d4cae,
   41: 	0x2dc6c0, 0x2e40d2, 0x2ebae4, 0x2f34f6,
   42: 	0x2faf08, 0x30291a, 0x30a32c, 0x311d3e,
   43: 	0x319750, 0x321162, 0x328b74, 0x330586,
   44: 	0x337f98, 0x33f9aa, 0x3473bc, 0x34edce,
   45: 	0x3567e0, 0x35e1f2, 0x365c04, 0x36d616,
   46: 	0x375028, 0x37ca3a, 0x38444c, 0x38be5e,
   47: 	0x393870, 0x39b282, 0x3a2c94, 0x3aa6a6,
   48: 	0x3b20b8, 0x3b9aca, 0x3c14dc, 0x3c8eee,
   49: 	0x3d0900, 0x3d8312, 0x3dfd24, 0x3e7736,
   50: 	0x3ef148, 0x3f6b5a, 0x3fe56c, 0x405f7e,
   51: 	0x40d990, 0x4153a2, 0x41cdb4, 0x4247c6,
   52: 	0x42c1d8, 0x433bea, 0x43b5fc, 0x44300e,
   53: 	0x44aa20, 0x452432, 0x459e44, 0x461856,
   54: 	0x469268, 0x470c7a, 0x47868c, 0x48009e,
   55: 	0x487ab0, 0x48f4c2, 0x496ed4, 0x49e8e6,
   56: 	0x4a62f8, 0x4add0a, 0x4b571c, 0x4bd12e,
   57: 	0x4c4b40, 0x4cc552, 0x4d3f64, 0x4db976,
   58: 	0x4e3388, 0x4ead9a, 0x4f27ac, 0x4fa1be,
   59: 	0x501bd0, 0x5095e2, 0x510ff4, 0x518a06,
   60: 	0x520418, 0x527e2a, 0x52f83c, 0x53724e,
   61: 	0x53ec60, 0x546672, 0x54e084, 0x555a96,
   62: 	0x55d4a8, 0x564eba, 0x56c8cc, 0x5742de,
   63: 	0x57bcf0, 0x583702, 0x58b114, 0x592b26,
   64: 	0x59a538, 0x5a1f4a, 0x5a995c, 0x5b136e,
   65: 	0x5b8d80, 0x5c0792, 0x5c81a4, 0x5cfbb6,
   66: 	0x5d75c8, 0x5defda, 0x5e69ec, 0x5ee3fe,
   67: 	0x5f5e10, 0x5fd822, 0x605234, 0x60cc46,
   68: 	0x614658, 0x61c06a, 0x623a7c, 0x62b48e,
   69: 	0x632ea0, 0x63a8b2, 0x6422c4, 0x649cd6,
   70: 	0x6516e8, 0x6590fa, 0x660b0c, 0x66851e,
   71: 	0x66ff30, 0x677942, 0x67f354, 0x686d66,
   72: 	0x68e778, 0x69618a, 0x69db9c, 0x6a55ae,
   73: 	0x6acfc0, 0x6b49d2, 0x6bc3e4, 0x6c3df6,
   74: 	0x6cb808, 0x6d321a, 0x6dac2c, 0x6e263e,
   75: 	0x6ea050, 0x6f1a62, 0x6f9474, 0x700e86,
   76: 	0x708898, 0x7102aa, 0x717cbc, 0x71f6ce,
   77: 	0x7270e0, 0x72eaf2, 0x736504, 0x73df16,
   78: 	0x745928, 0x74d33a, 0x754d4c, 0x75c75e,
   79: 	0x764170, 0x76bb82, 0x773594, 0x77afa6,
   80: 	0x7829b8, 0x78a3ca, 0x791ddc, 0x7997ee
   81: };
   82: 
   83: long tstousmid[256] = {
   84: 	0x0000, 0x007a, 0x00f4, 0x016e, 0x01e8, 0x0262, 0x02dc, 0x0356,
   85: 	0x03d1, 0x044b, 0x04c5, 0x053f, 0x05b9, 0x0633, 0x06ad, 0x0727,
   86: 	0x07a1, 0x081b, 0x0895, 0x090f, 0x0989, 0x0a03, 0x0a7e, 0x0af8,
   87: 	0x0b72, 0x0bec, 0x0c66, 0x0ce0, 0x0d5a, 0x0dd4, 0x0e4e, 0x0ec8,
   88: 	0x0f42, 0x0fbc, 0x1036, 0x10b0, 0x112b, 0x11a5, 0x121f, 0x1299,
   89: 	0x1313, 0x138d, 0x1407, 0x1481, 0x14fb, 0x1575, 0x15ef, 0x1669,
   90: 	0x16e3, 0x175d, 0x17d8, 0x1852, 0x18cc, 0x1946, 0x19c0, 0x1a3a,
   91: 	0x1ab4, 0x1b2e, 0x1ba8, 0x1c22, 0x1c9c, 0x1d16, 0x1d90, 0x1e0a,
   92: 	0x1e84, 0x1eff, 0x1f79, 0x1ff3, 0x206d, 0x20e7, 0x2161, 0x21db,
   93: 	0x2255, 0x22cf, 0x2349, 0x23c3, 0x243d, 0x24b7, 0x2531, 0x25ac,
   94: 	0x2626, 0x26a0, 0x271a, 0x2794, 0x280e, 0x2888, 0x2902, 0x297c,
   95: 	0x29f6, 0x2a70, 0x2aea, 0x2b64, 0x2bde, 0x2c59, 0x2cd3, 0x2d4d,
   96: 	0x2dc7, 0x2e41, 0x2ebb, 0x2f35, 0x2faf, 0x3029, 0x30a3, 0x311d,
   97: 	0x3197, 0x3211, 0x328b, 0x3306, 0x3380, 0x33fa, 0x3474, 0x34ee,
   98: 	0x3568, 0x35e2, 0x365c, 0x36d6, 0x3750, 0x37ca, 0x3844, 0x38be,
   99: 	0x3938, 0x39b3, 0x3a2d, 0x3aa7, 0x3b21, 0x3b9b, 0x3c15, 0x3c8f,
  100: 	0x3d09, 0x3d83, 0x3dfd, 0x3e77, 0x3ef1, 0x3f6b, 0x3fe5, 0x405f,
  101: 	0x40da, 0x4154, 0x41ce, 0x4248, 0x42c2, 0x433c, 0x43b6, 0x4430,
  102: 	0x44aa, 0x4524, 0x459e, 0x4618, 0x4692, 0x470c, 0x4787, 0x4801,
  103: 	0x487b, 0x48f5, 0x496f, 0x49e9, 0x4a63, 0x4add, 0x4b57, 0x4bd1,
  104: 	0x4c4b, 0x4cc5, 0x4d3f, 0x4db9, 0x4e34, 0x4eae, 0x4f28, 0x4fa2,
  105: 	0x501c, 0x5096, 0x5110, 0x518a, 0x5204, 0x527e, 0x52f8, 0x5372,
  106: 	0x53ec, 0x5466, 0x54e1, 0x555b, 0x55d5, 0x564f, 0x56c9, 0x5743,
  107: 	0x57bd, 0x5837, 0x58b1, 0x592b, 0x59a5, 0x5a1f, 0x5a99, 0x5b13,
  108: 	0x5b8d, 0x5c08, 0x5c82, 0x5cfc, 0x5d76, 0x5df0, 0x5e6a, 0x5ee4,
  109: 	0x5f5e, 0x5fd8, 0x6052, 0x60cc, 0x6146, 0x61c0, 0x623a, 0x62b5,
  110: 	0x632f, 0x63a9, 0x6423, 0x649d, 0x6517, 0x6591, 0x660b, 0x6685,
  111: 	0x66ff, 0x6779, 0x67f3, 0x686d, 0x68e7, 0x6962, 0x69dc, 0x6a56,
  112: 	0x6ad0, 0x6b4a, 0x6bc4, 0x6c3e, 0x6cb8, 0x6d32, 0x6dac, 0x6e26,
  113: 	0x6ea0, 0x6f1a, 0x6f94, 0x700f, 0x7089, 0x7103, 0x717d, 0x71f7,
  114: 	0x7271, 0x72eb, 0x7365, 0x73df, 0x7459, 0x74d3, 0x754d, 0x75c7,
  115: 	0x7641, 0x76bc, 0x7736, 0x77b0, 0x782a, 0x78a4, 0x791e, 0x7998
  116: };
  117: 
  118: long tstouslo[128] = {
  119: 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
  120: 	0x08, 0x09, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
  121: 	0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
  122: 	0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
  123: 	0x1f, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
  124: 	0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
  125: 	0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x33, 0x34,
  126: 	0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,
  127: 	0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44,
  128: 	0x45, 0x46, 0x47, 0x48, 0x48, 0x49, 0x4a, 0x4b,
  129: 	0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
  130: 	0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b,
  131: 	0x5c, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
  132: 	0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a,
  133: 	0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x71,
  134: 	0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79
  135: };

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>