Comparando los resultados de un cálculo de punto flotante en un par de máquinas diferentes, están produciendo constantemente resultados diferentes. Aquí hay un ejemplo simplificado que reproduce el comportamiento: import numpy as np from numpy.random import randn as rand M = 1024 N = 2048 np.random.seed(0) a = rand(M,N).astype(dtype=np.float32) w = rand(N,M).astype(dtype=np.float32) b = np.dot(a, […]
Quiero crear archivos flotantes WAV de 32 bits en Python (2.x). Mientras que los archivos WAV “estándar” generalmente usan int, muchas aplicaciones de audio profesionales procesan (y guardan) datos de audio como flotante. El módulo de wave estándar no es capaz de hacer esto: http://bugs.python.org/issue16525 ¿Alguien lo ha logrado sin usar módulos parcheados? Tnx por […]
Digamos que tengo algunos números de 32 bits y algunos de 64 bits: >>> import numpy as np >>> w = np.float32(2.4) >>> x = np.float32(4.555555555555555) >>> y = np.float64(2.4) >>> z = np.float64(4.555555555555555) Puedo imprimirlos con %f pero tiene decimales adicionales que no son necesarios: >>> ‘%f %f %f %f’ % (w, x, y, […]
Tengo un vector de clase que representa un punto en el espacio tridimensional. Este vector tiene un método de normalize(self, length = 1) que escala el vector hacia abajo / arriba para que tenga length == vec.normalize(length).length . La prueba de unidad para este método a veces falla debido a la imprecisión de los números […]
Sé que los errores de redondeo ocurren en la aritmética de punto flotante, pero alguien puede explicar la razón de esto: >>> 8.0 / 0.4 # as expected 20.0 >>> floor(8.0 / 0.4) # int works too 20 >>> 8.0 // 0.4 # expecting 20.0 19.0 Esto sucede tanto en Python 2 como en 3 […]
Quiero imprimir algunos números de punto flotante para que siempre estén escritos en forma decimal (por ejemplo, 12345000000000000000000.0 o 0.000000000000012345 , no en notación científica , pero me gustaría mantener los 15.7 dígitos decimales de precisión y nada más. Es bien sabido que la repr de un float está escrita en notación científica si el […]
¿Hay un filtro de plantilla django para obtener solo dígitos después del punto flotante? Por ejemplo : 2.34 –> 34 2.00 –> 00 1.10 –> 10 No he encontrado una respuesta en https://docs.djangoproject.com/en/dev/ref/templates/builtins/ .
Digamos que tengo algunos valores de punto flotante de 32 bits y 64 bits: >>> import numpy as np >>> v32 = np.array([5, 0.1, 2.4, 4.555555555555555, 12345678.92345678635], dtype=np.float32) >>> v64 = np.array([5, 0.1, 2.4, 4.555555555555555, 12345678.92345678635], dtype=np.float64) Quiero serializar estos valores a texto sin perder precisión (o al menos realmente cerca de no perder precisión). […]
Quiero realizar la conversión de IEEE 754 desde un binario de 32 bits a flotar en python. He intentado esto import struct f = int(‘11000001101011000111101011100001’, 2) print struct.unpack(‘f’, struct.pack(‘i’, f))[0] pero esto no funciona para números con bit de signo negativo. La salida esperada debería ser así: bintofloat(11000001101011000111101011100001) >>> -21.56
¿Cómo puedo abrir un archivo y leer los flotantes del archivo cuando está en formato de cadena en Python? También me gustaría cambiar los valores de cada flotante y reescribir el archivo con los nuevos valores.