Python numpy.byte() Examples
The following are 30
code examples of numpy.byte().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example #1
Source File: make_dataset_parallel.py From sdvae with MIT License | 6 votes |
def process_chunk(smiles_list): grammar = parser.Grammar(cmd_args.grammar_file) cfg_tree_list = [] for smiles in smiles_list: ts = parser.parse(smiles, grammar) assert isinstance(ts, list) and len(ts) == 1 n = AnnotatedTree2MolTree(ts[0]) cfg_tree_list.append(n) walker = OnehotBuilder() tree_decoder = create_tree_decoder() onehot, masks = batch_make_att_masks(cfg_tree_list, tree_decoder, walker, dtype=np.byte) return (onehot, masks)
Example #2
Source File: test_scalarmath.py From vnpy_crypto with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #3
Source File: histograms.py From GraphicDesignPatternByPython with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #4
Source File: rattlesnake.py From rattlesnake with MIT License | 6 votes |
def plot_results(data, nth_iteration): """ Plots the list it receives and cuts off the first ten entries to circumvent the plotting of initial silence :param data: A list of data to be plotted :param nth_iteration: Used for the label of the x axis """ # Plot the data plt.plot(data[10:]) # Label the axes plt.xlabel('Time (every {}th {} byte)'.format(nth_iteration, CHUNK)) plt.ylabel('Volume level difference (in dB)') # Calculate and output the absolute median difference level plt.suptitle('Difference - Median (in dB): {}'.format(np.round(np.fabs(np.median(data)), decimals=5)), fontsize=14) # Display the plotted graph plt.show()
Example #5
Source File: rattlesnake.py From rattlesnake with MIT License | 6 votes |
def invert(data): """ Inverts the byte data it received utilizing an XOR operation. :param data: A chunk of byte data :return inverted: The same size of chunked data inverted bitwise """ # Convert the bytestring into an integer intwave = np.fromstring(data, np.int32) # Invert the integer intwave = np.invert(intwave) # Convert the integer back into a bytestring inverted = np.frombuffer(intwave, np.byte) # Return the inverted audio data return inverted
Example #6
Source File: histograms.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #7
Source File: test_scalarmath.py From GraphicDesignPatternByPython with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #8
Source File: histograms.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #9
Source File: test_scalarmath.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from https://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #10
Source File: test_scalarmath.py From pySINDy with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #11
Source File: test_scalarmath.py From mxnet-lambda with Apache License 2.0 | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #12
Source File: GXNumpy.py From gxpy with BSD 2-Clause "Simplified" License | 6 votes |
def gs_from_np(dtype): dtype = np.dtype(dtype) if dtype == np.byte: return gxa.GS_BYTE elif dtype == np.ubyte: return gxa.GS_UBYTE elif dtype == np.int16: return gxa.GS_SHORT elif dtype == np.uint16: return gxa.GS_USHORT elif dtype == np.int32: return gxa.GS_LONG elif dtype == np.uint32: return gxa.GS_ULONG elif dtype == np.int64: return gxa.GS_LONG64 elif dtype == np.uint64: return gxa.GS_ULONG64 elif dtype == np.float32: return gxa.GS_FLOAT elif dtype == np.float64: return gxa.GS_DOUBLE else: raise gxa.GXAPIError("Numpy array type does not map to one of the supported GS_TYPES");
Example #13
Source File: test_scalarmath.py From ImageFusion with MIT License | 6 votes |
def _test_type_repr(self, t): finfo=np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1<<bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1<<bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #14
Source File: utils.py From mici with MIT License | 6 votes |
def hash_array(array): """Compute hash of a NumPy array by hashing data as a byte sequence. Args: array (array): NumPy array to compute hash of. Returns: hash (int): Computed hash as an integer. """ if XXHASH_AVAILABLE: # If fast Python wrapper of fast xxhash implementation is available use # in preference to built in hash function h = xxhash.xxh64() # Update hash by viewing array as byte sequence - no copy required h.update(array.view(np.byte).data) # Also update hash by array dtype, shape and strides to avoid clashes # between different views of same array h.update(bytes(f'{array.dtype}{array.shape}{array.strides}', 'utf-8')) return h.intdigest() else: # Evaluate built-in hash function on *copy* of data as a byte sequence return hash(array.tobytes())
Example #15
Source File: mol_decoder.py From sdvae with MIT License | 6 votes |
def batch_make_att_masks(node_list, tree_decoder = None, walker = None, dtype=np.byte): if walker is None: walker = OnehotBuilder() if tree_decoder is None: tree_decoder = create_tree_decoder() true_binary = np.zeros((len(node_list), cmd_args.max_decode_steps, DECISION_DIM), dtype=dtype) rule_masks = np.zeros((len(node_list), cmd_args.max_decode_steps, DECISION_DIM), dtype=dtype) for i in range(len(node_list)): node = node_list[i] tree_decoder.decode(node, walker) true_binary[i, np.arange(walker.num_steps), walker.global_rule_used[:walker.num_steps]] = 1 true_binary[i, np.arange(walker.num_steps, cmd_args.max_decode_steps), -1] = 1 for j in range(walker.num_steps): rule_masks[i, j, walker.mask_list[j]] = 1 rule_masks[i, np.arange(walker.num_steps, cmd_args.max_decode_steps), -1] = 1.0 return true_binary, rule_masks
Example #16
Source File: histograms.py From pySINDy with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #17
Source File: make_dataset_parallel.py From sdvae with MIT License | 6 votes |
def run_job(L): chunk_size = 5000 list_binary = Parallel(n_jobs=cmd_args.data_gen_threads, verbose=50)( delayed(process_chunk)(L[start: start + chunk_size]) for start in range(0, len(L), chunk_size) ) all_onehot = np.zeros((len(L), cmd_args.max_decode_steps, DECISION_DIM), dtype=np.byte) all_masks = np.zeros((len(L), cmd_args.max_decode_steps, DECISION_DIM), dtype=np.byte) for start, b_pair in zip( range(0, len(L), chunk_size), list_binary ): all_onehot[start: start + chunk_size, :, :] = b_pair[0] all_masks[start: start + chunk_size, :, :] = b_pair[1] f_smiles = '.'.join(cmd_args.smiles_file.split('/')[-1].split('.')[0:-1]) out_file = '%s/%s-%d.h5' % (cmd_args.save_dir, f_smiles, cmd_args.skip_deter) h5f = h5py.File(out_file, 'w') h5f.create_dataset('x', data=all_onehot) h5f.create_dataset('masks', data=all_masks) h5f.close()
Example #18
Source File: prog_tree_decoder.py From sdvae with MIT License | 6 votes |
def batch_make_att_masks(node_list, tree_decoder = None, walker = None, dtype=np.byte): if walker is None: walker = OnehotBuilder() if tree_decoder is None: tree_decoder = ProgramOnehotBuilder() true_binary = np.zeros((len(node_list), cmd_args.max_decode_steps, DECISION_DIM), dtype=dtype) rule_masks = np.zeros((len(node_list), cmd_args.max_decode_steps, DECISION_DIM), dtype=dtype) for i in range(len(node_list)): node = node_list[i] tree_decoder.decode(node, walker) true_binary[i, np.arange(walker.num_steps), walker.global_rule_used[:walker.num_steps]] = 1 true_binary[i, np.arange(walker.num_steps, cmd_args.max_decode_steps), -1] = 1 for j in range(walker.num_steps): rule_masks[i, j, walker.mask_list[j]] = 1 rule_masks[i, np.arange(walker.num_steps, cmd_args.max_decode_steps), -1] = 1.0 return true_binary, rule_masks
Example #19
Source File: make_dataset_parallel.py From sdvae with MIT License | 6 votes |
def process_chunk(program_list): grammar = parser.Grammar(cmd_args.grammar_file) cfg_tree_list = [] for program in program_list: ts = parser.parse(program, grammar) assert isinstance(ts, list) and len(ts) == 1 n = AnnotatedTree2ProgTree(ts[0]) cfg_tree_list.append(n) walker = ProgramOnehotBuilder() tree_decoder = ProgTreeDecoder() onehot, masks = batch_make_att_masks(cfg_tree_list, tree_decoder, walker, dtype=np.byte) return (onehot, masks)
Example #20
Source File: test_scalarmath.py From elasticintel with GNU General Public License v3.0 | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #21
Source File: util.py From DrugEx with MIT License | 6 votes |
def check_smiles(seqs, voc): """Decoding the indices LongTensor into a list of SMILES string and checking whether they can be correctly parsed into molecule by RDKit Arguments: seqs (LongTensor): m X n indices LongTensor, generally it is the output of RNN sampling. m is No. of samples; n is the value of max_len in voc voc (Voc): the instance of Voc for the SMILES token vocabulary. Returns: smiles (list): a list of decoded SMILES string. valids (ndarray): each value in this array is np.byte type and indicates whether the counterpart is grammar correct SMILES or not. """ valids = [] smiles = [] for j, seq in enumerate(seqs.cpu()): smile = voc.decode(seq) valids.append(1 if Chem.MolFromSmiles(smile) else 0) smiles.append(smile) valids = np.array(valids, dtype=np.byte) return smiles, valids
Example #22
Source File: histograms.py From coffeegrindsize with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #23
Source File: test_scalarmath.py From coffeegrindsize with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from https://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #24
Source File: histograms.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #25
Source File: histograms.py From Serverless-Deep-Learning-with-TensorFlow-and-AWS-Lambda with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #26
Source File: test_scalarmath.py From Serverless-Deep-Learning-with-TensorFlow-and-AWS-Lambda with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #27
Source File: utils.py From pytorch-MADRL with MIT License | 6 votes |
def to_tensor_var(x, use_cuda=True, dtype="float"): FloatTensor = th.cuda.FloatTensor if use_cuda else th.FloatTensor LongTensor = th.cuda.LongTensor if use_cuda else th.LongTensor ByteTensor = th.cuda.ByteTensor if use_cuda else th.ByteTensor if dtype == "float": x = np.array(x, dtype=np.float64).tolist() return Variable(FloatTensor(x)) elif dtype == "long": x = np.array(x, dtype=np.long).tolist() return Variable(LongTensor(x)) elif dtype == "byte": x = np.array(x, dtype=np.byte).tolist() return Variable(ByteTensor(x)) else: x = np.array(x, dtype=np.float64).tolist() return Variable(FloatTensor(x))
Example #28
Source File: histograms.py From twitter-stock-recommendation with MIT License | 6 votes |
def _unsigned_subtract(a, b): """ Subtract two values where a >= b, and produce an unsigned result This is needed when finding the difference between the upper and lower bound of an int16 histogram """ # coerce to a single type signed_to_unsigned = { np.byte: np.ubyte, np.short: np.ushort, np.intc: np.uintc, np.int_: np.uint, np.longlong: np.ulonglong } dt = np.result_type(a, b) try: dt = signed_to_unsigned[dt.type] except KeyError: return np.subtract(a, b, dtype=dt) else: # we know the inputs are integers, and we are deliberately casting # signed to unsigned return np.subtract(a, b, casting='unsafe', dtype=dt)
Example #29
Source File: test_scalarmath.py From twitter-stock-recommendation with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)
Example #30
Source File: test_scalarmath.py From keras-lambda with MIT License | 6 votes |
def _test_type_repr(self, t): finfo = np.finfo(t) last_fraction_bit_idx = finfo.nexp + finfo.nmant last_exponent_bit_idx = finfo.nexp storage_bytes = np.dtype(t).itemsize*8 # could add some more types to the list below for which in ['small denorm', 'small norm']: # Values from http://en.wikipedia.org/wiki/IEEE_754 constr = np.array([0x00]*storage_bytes, dtype=np.uint8) if which == 'small denorm': byte = last_fraction_bit_idx // 8 bytebit = 7-(last_fraction_bit_idx % 8) constr[byte] = 1 << bytebit elif which == 'small norm': byte = last_exponent_bit_idx // 8 bytebit = 7-(last_exponent_bit_idx % 8) constr[byte] = 1 << bytebit else: raise ValueError('hmm') val = constr.view(t)[0] val_repr = repr(val) val2 = t(eval(val_repr)) if not (val2 == 0 and val < 1e-100): assert_equal(val, val2)