Articles of punto flotante

Matemáticas de punto flotante en python / numpy no reproducibles en máquinas

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, […]

¿Crear un archivo wav flotante de 32 bits en python?

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 […]

Especificador de formato de precisión de punto flotante de Python

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, […]

Unittest (a veces) falla debido a imprecisión de punto flotante

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 […]

Errores de redondeo en la división de pisos Python.

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 […]

Convierte float en cadena sin notación científica y precisión falsa

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 […]

El formato flotante de Django solo obtiene dígitos después del punto flotante

¿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/ .

Python / numpy precisión de texto en coma flotante

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). […]

Cómo convertir binario de 32 bits a flotar

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 leer en flotadores desde un archivo?

¿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.