]> git.llucax.com Git - z.facultad/75.29/dale.git/log
z.facultad/75.29/dale.git
19 years agoElimina variable no usada.
Leandro Lucarella [Sun, 9 Oct 2005 21:21:51 +0000 (21:21 +0000)]
Elimina variable no usada.

19 years agoHace que el operator<< entienda el flag 'hex' y saque la salida en hexa si está seteado.
Leandro Lucarella [Sun, 9 Oct 2005 21:04:57 +0000 (21:04 +0000)]
Hace que el operator<< entienda el flag 'hex' y saque la salida en hexa si está seteado.
Para imprimir la salida en hexa, ahora basta con hacer:
std::cout << std::hex << numero;
Como con cualquier tipo nativo.

19 years agoPermite que el programa principal no imprima la salida en un archivo.
Leandro Lucarella [Sun, 9 Oct 2005 21:01:56 +0000 (21:01 +0000)]
Permite que el programa principal no imprima la salida en un archivo.
Este parche hace que se le pueda pasar al programa principal un nombre especial
de archivo de salida, '-', que indica que no se se imprima la salida en ningún
archivo. Particularmente útil para acelerar las mediciones en pruebas masivas
(en donde no importan los resultados).

19 years agoGeneraliza el constructor a partir de un string para que tome cualquier base.
Leandro Lucarella [Sun, 9 Oct 2005 20:37:45 +0000 (20:37 +0000)]
Generaliza el constructor a partir de un string para que tome cualquier base.
Este parche generaliza el constructor a partir de un string agregando un
parmámetro opcional extra 'base'. Se implementa un además un parser específico
(y *MUY* rápido) para base 16 (hexa) de manera de poder hacer pruebas mucho más
rápido (la mayoría del tiempo se la pasaba parseando el string decimal).
También se agrega un parámetro opcional al programa principal para indicar en
qué base vienen los datos de entrada. Para usar entrada hexa, por ejemplo, se
puede invovar como:
./tdatp1 input output 16
Por omisión, sigue tomando la entrada en base 10 (decimal).

19 years agoBugfix (evita potencial pisada de memoria).
Leandro Lucarella [Sun, 9 Oct 2005 20:30:29 +0000 (20:30 +0000)]
Bugfix (evita potencial pisada de memoria).

19 years agoBugfix.
Leandro Lucarella [Sun, 9 Oct 2005 20:26:52 +0000 (20:26 +0000)]
Bugfix.
El parche más feo del mundo tenía un error, python ponía un \n extra (que se
elimina con este parche).

19 years agoBugfixes.
Leandro Lucarella [Sun, 9 Oct 2005 00:31:42 +0000 (00:31 +0000)]
Bugfixes.
Algunos errores que hacían que no compile :S

19 years agoMinimiza el tamaño en chunks del number.
Leandro Lucarella [Sat, 8 Oct 2005 23:44:05 +0000 (23:44 +0000)]
Minimiza el tamaño en chunks del number.
Este parche agrega el método number::minimize_size() que elimina los "ceros a
izquierda" para achicar el tamaño de un number en chunks al mínimo posible. Se
utiliza este método después de parsear un string y otros constructores, además
en la resta y algún otro método que pueda resultar en una reducción de la
cantidad de chunks.
El minimizar la cantidad de chunks en el constructor a partir de un string
(usado en el programa principal) disminuye considerablemente el tiempo de las
operaciones, ya que ahora el número tiene una cantidad de chunks más realista y
los N (como cantidad de chunks) obtenidos no se ven ligados a la cantidad de
dígitos decimales del string.

19 years agoAgrega timer y método para obtener cantidad de chunks.
Leandro Lucarella [Sat, 8 Oct 2005 20:37:24 +0000 (20:37 +0000)]
Agrega timer y método para obtener cantidad de chunks.
Este parche agrega la clase timer que sirve para medir tiempos. Además agrega el
método number::n() para obtener la cantidad de chunks (para obtener el N real).
También modifica el problema principal para imprimir por la salida estándar el
tiempo y N real de la(s) operación(es) e imprime por salida de error los nombres
y padrones (para que sea más simple la redirección de la salida estándar). Esto
último no me convence del todo pero es cómodo (se aceptan sugerencias para
mejorarlo).

19 years agoUsa suma y resta 'inplace' en el programa principal.
Leandro Lucarella [Fri, 7 Oct 2005 05:49:20 +0000 (05:49 +0000)]
Usa suma y resta 'inplace' en el programa principal.
Se reemplaza el operator + y - por operator += y -= en el programa principal
para evitar las copias (con el + y - se genera un 'number' temporal).

19 years agoSaca definición de métodos fuera de la declaración de la clase.
Leandro Lucarella [Fri, 7 Oct 2005 05:46:10 +0000 (05:46 +0000)]
Saca definición de métodos fuera de la declaración de la clase.
Empieza la limpieza. Pasada 1: sólo saca la definición de los métodos de la
declaración de la clase (y pone algún que otro const obvio).

19 years agotagged Entrega 1 Entrega_1
Alberto Bertogli [Thu, 6 Oct 2005 02:54:04 +0000 (02:54 +0000)]
tagged Entrega 1

19 years agoActualiza informe.
Leandro Lucarella [Wed, 5 Oct 2005 19:08:55 +0000 (19:08 +0000)]
Actualiza informe.
Lo pongo en formato Abiword porque al final el otro RTF también estaba en
formato abw y lo editaba yo sólo.

19 years agoAgregar script para convertir de codigo a PDF.
Alberto Bertogli [Wed, 5 Oct 2005 18:40:16 +0000 (18:40 +0000)]
Agregar script para convertir de codigo a PDF.

19 years agoLimpiar salida de debugging.
Alberto Bertogli [Wed, 5 Oct 2005 17:57:57 +0000 (17:57 +0000)]
Limpiar salida de debugging.

19 years agoAgregar grafico generado por el nuevo script.
Alberto Bertogli [Wed, 5 Oct 2005 16:18:14 +0000 (16:18 +0000)]
Agregar grafico generado por el nuevo script.

19 years agoAgregar nuevo script para graficar potencias.
Alberto Bertogli [Wed, 5 Oct 2005 16:17:48 +0000 (16:17 +0000)]
Agregar nuevo script para graficar potencias.

19 years agoAgregar scripts de generacion de graficos.
Alberto Bertogli [Wed, 5 Oct 2005 16:04:10 +0000 (16:04 +0000)]
Agregar scripts de generacion de graficos.

19 years agoThe ugliest patch in the history (versión 2, salida decimal ejecutando python).
Leandro Lucarella [Wed, 5 Oct 2005 09:10:59 +0000 (09:10 +0000)]
The ugliest patch in the history (versión 2, salida decimal ejecutando python).
Según parche increiblemente vergonzoso. Imprime salida decimal utilizando
python, a quien alimentamos con nuestra salida en hexa para que nos devuelva el
decimal.

19 years agoAgrega explicación de multiplicaciones.
Leandro Lucarella [Wed, 5 Oct 2005 08:33:19 +0000 (08:33 +0000)]
Agrega explicación de multiplicaciones.

19 years agoCambiar pot_dyc() por pot_dyc_n() y pot_dyc_k().
Alberto Bertogli [Wed, 5 Oct 2005 08:25:37 +0000 (08:25 +0000)]
Cambiar pot_dyc() por pot_dyc_n() y pot_dyc_k().
El enunciado nos pide que se construyan dos versiones del algoritmo de
potenciacion por division y conquista que hagamos: una para la multiplicacion
naif y otra para la multiplicacion por Karatsuba-Ofman.
Este patch toma la funcion pot_dyc() y arma con ella las dos pedidas. Ademas
actualiza main.cpp y number.cpp acorde.

19 years agoAgregar scripts de generacion y verificacion.
Alberto Bertogli [Wed, 5 Oct 2005 07:36:59 +0000 (07:36 +0000)]
Agregar scripts de generacion y verificacion.

19 years agoHacer que pot_ko() use karatsuba().
Alberto Bertogli [Wed, 5 Oct 2005 07:36:36 +0000 (07:36 +0000)]
Hacer que pot_ko() use karatsuba().

19 years agoAgrega explicación de la resta.
Leandro Lucarella [Wed, 5 Oct 2005 07:30:44 +0000 (07:30 +0000)]
Agrega explicación de la resta.

19 years agoImplementa programa principal.
Leandro Lucarella [Wed, 5 Oct 2005 06:07:18 +0000 (06:07 +0000)]
Implementa programa principal.
Implementación del programa principal con Makefile incluido. Por omisión compila
optimizado (en modo 'release' digamos), para compilar con símbolos de debug (y
dándole bola al assert y eso) usar: make DEBUG=1

19 years agoAgregar algunos casos de prueba en number.cpp.
Alberto Bertogli [Wed, 5 Oct 2005 05:33:43 +0000 (05:33 +0000)]
Agregar algunos casos de prueba en number.cpp.

19 years agoAcomodar ambas multiplicaciones.
Alberto Bertogli [Wed, 5 Oct 2005 05:31:13 +0000 (05:31 +0000)]
Acomodar ambas multiplicaciones.

19 years agoAcomodar loop de menorEnModuloQue().
Alberto Bertogli [Wed, 5 Oct 2005 05:28:07 +0000 (05:28 +0000)]
Acomodar loop de menorEnModuloQue().

19 years agoEl signo no necesita ser mutable.
Alberto Bertogli [Wed, 5 Oct 2005 05:27:43 +0000 (05:27 +0000)]
El signo no necesita ser mutable.

19 years agoThe ugliest patch ever.
Leandro Lucarella [Wed, 5 Oct 2005 03:20:44 +0000 (03:20 +0000)]
The ugliest patch ever.
Sí, es por lejos el parche más feo que hice en mi vida y no estoy nada
orgulloso, pero a esta altura no podemos ponernos en exquisitos =(

19 years agoImplementa el constructor a partir de un string.
Leandro Lucarella [Wed, 5 Oct 2005 04:32:42 +0000 (04:32 +0000)]
Implementa el constructor a partir de un string.
Lo hace a través de un parser que va construyendo el número grande evualuando un
polinomio de potencias de 10. El polinomio se evalua usando la Reglar de Horner).

19 years agoresta corregida + un par de asserts
Ezequiel [Wed, 5 Oct 2005 01:33:30 +0000 (01:33 +0000)]
resta corregida + un par de asserts

19 years agoAgrega primer draft del informe.
Leandro Lucarella [Wed, 5 Oct 2005 00:07:08 +0000 (00:07 +0000)]
Agrega primer draft del informe.

19 years agoAgrega carátula.
Leandro Lucarella [Tue, 4 Oct 2005 23:29:01 +0000 (23:29 +0000)]
Agrega carátula.

19 years agoAgrega método menorEnModuloQue() para que vuelva a andar la resta.
Leandro Lucarella [Tue, 4 Oct 2005 23:16:20 +0000 (23:16 +0000)]
Agrega método menorEnModuloQue() para que vuelva a andar la resta.

19 years agoReescribe normalize_length().
Leandro Lucarella [Tue, 4 Oct 2005 20:54:26 +0000 (20:54 +0000)]
Reescribe normalize_length().
Además de arreglar un bug, ahora normalize length también recorta los números si
tiene muchos ceros en la perte más significativa, de manera tal que no crezcan
exponencialmente (lo que acelera increíblemente las cosas).
Sigue dejando los números con tamaño potencia de 2, pero elimina todos los ceros
que puede en el camino.

19 years agoBugfix en normalize_length() (usaba una potencia más de la necesaria).
Leandro Lucarella [Tue, 4 Oct 2005 19:59:51 +0000 (19:59 +0000)]
Bugfix en normalize_length() (usaba una potencia más de la necesaria).

19 years agoBugfix a operator< para que compare bien dos números negativos.
Leandro Lucarella [Tue, 4 Oct 2005 19:30:06 +0000 (19:30 +0000)]
Bugfix a operator< para que compare bien dos números negativos.

19 years agoReimplementa operator< para que sea realmente const.
Leandro Lucarella [Tue, 4 Oct 2005 19:08:07 +0000 (19:08 +0000)]
Reimplementa operator< para que sea realmente const.
El operator< utilizaba la función normalize_length() que tomaba parámetros
variables. Ahora operator< es completamente const y no necesita normalizar los
argumentos.

19 years agoAgrega assert a split para verificar que no se lo llame con un chunk de tamaño 1.
Leandro Lucarella [Tue, 4 Oct 2005 18:10:41 +0000 (18:10 +0000)]
Agrega assert a split para verificar que no se lo llame con un chunk de tamaño 1.

19 years agoCambia alineación de declaración de operadores.
Leandro Lucarella [Tue, 4 Oct 2005 16:28:53 +0000 (16:28 +0000)]
Cambia alineación de declaración de operadores.
Cambio meramente estético para que sea más claro visualmente.

19 years agoPone los constructores con inicializador atributo para el signo.
Leandro Lucarella [Tue, 4 Oct 2005 16:28:02 +0000 (16:28 +0000)]
Pone los constructores con inicializador atributo para el signo.

19 years agoAcomodar signos en los constructores.
Alberto Bertogli [Tue, 4 Oct 2005 13:50:56 +0000 (13:50 +0000)]
Acomodar signos en los constructores.

19 years agoContempla suma de números de signo distinto.
Leandro Lucarella [Tue, 4 Oct 2005 07:22:30 +0000 (07:22 +0000)]
Contempla suma de números de signo distinto.
Utiliza a la resta para manejar esos casos. En el test quedó un caso que rompe
tanto a la suma (como resta) como a la potencia (por un problema que, como
mínimo, baja hasta la multiplicación).

19 years agoMerge con parche anterior.
Leandro Lucarella [Tue, 4 Oct 2005 07:00:36 +0000 (07:00 +0000)]
Merge con parche anterior.

19 years agooperator -=, borrow y el stdint.h para VC++
Ezequiel [Tue, 4 Oct 2005 06:49:58 +0000 (06:49 +0000)]
operator -=, borrow y el stdint.h para VC++

19 years agoPotenciación con división y conquista.
Leandro Lucarella [Tue, 4 Oct 2005 06:38:25 +0000 (06:38 +0000)]
Potenciación con división y conquista.
Este parche agrega el algoritmo de potenciación por división y conquista. Además
agrega varios métodos y funciones complementarias:
dividido_dos(): devuelve el número dividido 2 O(n) (haciendo shift bit a bit)
es_impar(): indica si es impar O(1) (viendo el bit menos significativo)
operator==(): comparación O(n) (en el peor caso, que es cuando son iguales)

19 years agoSimplifica salida de operator<< para ostream.
Leandro Lucarella [Tue, 4 Oct 2005 05:54:04 +0000 (05:54 +0000)]
Simplifica salida de operator<< para ostream.
Sólo pone el signo si es negativo (y lo pone pegado al número). Así es más
natural para leer.

19 years agoAgrega signo a la salida del operator<< para un ostream.
Leandro Lucarella [Tue, 4 Oct 2005 05:37:51 +0000 (05:37 +0000)]
Agrega signo a la salida del operator<< para un ostream.

19 years agoBugfix en la suma.
Leandro Lucarella [Tue, 4 Oct 2005 05:36:20 +0000 (05:36 +0000)]
Bugfix en la suma.
Tenía un problema cuando el 2do operando era MAX - 1 y había carry, no se sumaba
nada y tampoco se detectaba que había carry (porque pega la vuelta
indefectiblemente, sin importar el valor del operando 1).

19 years agoFixito para pot_ko().
Alberto Bertogli [Tue, 4 Oct 2005 05:12:54 +0000 (05:12 +0000)]
Fixito para pot_ko().
Nuestro template de numero no tiene el operador ++, por lo que usamos += 1 por
ahora.

19 years agoAgregar karatsuba() y pot_ko().
Alberto Bertogli [Tue, 4 Oct 2005 04:32:59 +0000 (04:32 +0000)]
Agregar karatsuba() y pot_ko().
En este patch se reintroduce karatsuba() (todavia no probado porque falta la
resta, pero no deberia distar mucho de su implementacion final) y pot_ko(),
tampoco probada. Soy un loco barbaro.

19 years agoImplementar normalize_length() a potencia de 2.
Alberto Bertogli [Tue, 4 Oct 2005 04:29:57 +0000 (04:29 +0000)]
Implementar normalize_length() a potencia de 2.
Este patch hace que el normalize_lenght() redondee para arriba hasta la
potencia de 2 mas proxima.

Tambien saca la multiplicacion por Karatsuba, que sera reintroducida en un
patch a continuacion.

19 years agoInvierte orden de native_type al imprimir para que se lea más natural.
Leandro Lucarella [Tue, 4 Oct 2005 04:17:42 +0000 (04:17 +0000)]
Invierte orden de native_type al imprimir para que se lea más natural.

19 years agoArregla fines de linea (saca \r) y otros detalles menores.
Leandro Lucarella [Tue, 4 Oct 2005 04:09:18 +0000 (04:09 +0000)]
Arregla fines de linea (saca \r) y otros detalles menores.

19 years agooperator <
Ezequiel [Tue, 4 Oct 2005 03:47:33 +0000 (03:47 +0000)]
operator <

19 years agoAgrega dependencia del .h en el Makefile de tests.
Leandro Lucarella [Tue, 4 Oct 2005 03:57:28 +0000 (03:57 +0000)]
Agrega dependencia del .h en el Makefile de tests.

19 years agoBugfix de cast a la C++.
Leandro Lucarella [Tue, 4 Oct 2005 02:12:36 +0000 (02:12 +0000)]
Bugfix de cast a la C++.

19 years agoUsa naif() como operator*.
Leandro Lucarella [Tue, 4 Oct 2005 02:11:54 +0000 (02:11 +0000)]
Usa naif() como operator*.

19 years agoCasts a la C++ (static_cast).
Leandro Lucarella [Tue, 4 Oct 2005 01:38:53 +0000 (01:38 +0000)]
Casts a la C++ (static_cast).

19 years agoImplementar el algoritmo naif de multiplicacion.
Alberto Bertogli [Mon, 3 Oct 2005 18:30:30 +0000 (18:30 +0000)]
Implementar el algoritmo naif de multiplicacion.

19 years agoSacamos el private por ahora.
Alberto Bertogli [Mon, 3 Oct 2005 07:33:38 +0000 (07:33 +0000)]
Sacamos el private por ahora.
Mientras estemos puertas adentro, seamos promiscuos. Despues vemos de
"emprolijar" esto.

19 years agoPrototipo de karatsuba() con const y &.
Alberto Bertogli [Mon, 3 Oct 2005 07:32:09 +0000 (07:32 +0000)]
Prototipo de karatsuba() con const y &.

19 years agoSacar el sign_type afuera.
Alberto Bertogli [Mon, 3 Oct 2005 07:31:16 +0000 (07:31 +0000)]
Sacar el sign_type afuera.
Y que???

19 years agoAcomodar el split().
Alberto Bertogli [Mon, 3 Oct 2005 07:29:54 +0000 (07:29 +0000)]
Acomodar el split().

19 years agoMuestra salida con ancho fijo de native_type.
Leandro Lucarella [Mon, 3 Oct 2005 07:26:16 +0000 (07:26 +0000)]
Muestra salida con ancho fijo de native_type.

19 years agoSalida en hexa.
Leandro Lucarella [Mon, 3 Oct 2005 07:06:28 +0000 (07:06 +0000)]
Salida en hexa.

19 years agoAcomodar los retornos de linea en number.cpp.
Alberto Bertogli [Mon, 3 Oct 2005 05:52:13 +0000 (05:52 +0000)]
Acomodar los retornos de linea en number.cpp.

19 years agoRenombrar "divide_n_conquer" por "karatsuba".
Alberto Bertogli [Mon, 3 Oct 2005 05:51:50 +0000 (05:51 +0000)]
Renombrar "divide_n_conquer" por "karatsuba".

19 years agoIncluir stdint.h.
Alberto Bertogli [Mon, 3 Oct 2005 04:29:44 +0000 (04:29 +0000)]
Incluir stdint.h.

19 years agoAcomodar indentacion a 80 cols y espacios en blanco.
Alberto Bertogli [Mon, 3 Oct 2005 04:20:35 +0000 (04:20 +0000)]
Acomodar indentacion a 80 cols y espacios en blanco.

19 years agoBugfixes para que compile.
Leandro Lucarella [Mon, 3 Oct 2005 04:28:00 +0000 (04:28 +0000)]
Bugfixes para que compile.

19 years agoMerge y limpieza.
Leandro Lucarella [Mon, 3 Oct 2005 04:08:09 +0000 (04:08 +0000)]
Merge y limpieza.
Merge del parche que implementa K-O y limpieza de algunos \r y se ponen algunos
funciones como métodos. Si bien compila el test, puede explotar porque realmente
nunca está compilando la mayor parte de las cosas porque están parametrizadas y
no se usarn.

19 years agoCasi casi divide and conquer
tailor [Mon, 3 Oct 2005 01:42:44 +0000 (01:42 +0000)]
Casi casi divide and conquer

19 years agoReverse iterators para imprimir en orden
tailor [Sun, 2 Oct 2005 23:23:05 +0000 (23:23 +0000)]
Reverse iterators para imprimir en orden

19 years agoPara que compile en Visual C++ 6
tailor [Sun, 2 Oct 2005 22:07:46 +0000 (22:07 +0000)]
Para que compile en Visual C++ 6

19 years agoAgrega parámetro para número extendido.
Leandro Lucarella [Sun, 2 Oct 2005 21:20:28 +0000 (21:20 +0000)]
Agrega parámetro para número extendido.
Además cambiar atomic_type por native_type y agrega parámetros por default.

19 years agoAgrega signo (por ahora dummy).
Leandro Lucarella [Sun, 2 Oct 2005 21:13:25 +0000 (21:13 +0000)]
Agrega signo (por ahora dummy).

19 years agoAgrega enunciado.
Leandro Lucarella [Sun, 2 Oct 2005 20:48:41 +0000 (20:48 +0000)]
Agrega enunciado.

19 years agoBugfix de propagación del carry.
Leandro Lucarella [Sun, 2 Oct 2005 19:06:26 +0000 (19:06 +0000)]
Bugfix de propagación del carry.

19 years agoSaca cosas inútiles del Makefile de test.
Leandro Lucarella [Fri, 30 Sep 2005 06:18:00 +0000 (06:18 +0000)]
Saca cosas inútiles del Makefile de test.

19 years agoDocumenta un poco y saca métodos grandes fuera de la declaración de la clase.
Leandro Lucarella [Fri, 30 Sep 2005 06:16:32 +0000 (06:16 +0000)]
Documenta un poco y saca métodos grandes fuera de la declaración de la clase.

19 years agoEstructura inicial y tipo básico.
Leandro Lucarella [Tue, 27 Sep 2005 07:57:21 +0000 (07:57 +0000)]
Estructura inicial y tipo básico.
Mini estructura de directorios con lo básico. Hay un tipo parametrizado
number< T > (diseñado para unsigned's, si anda con otra cosa es casualidad) que
ya tiene implementada la suma y una forma _muy_ precaria de imprimirse.
Lo básico como para empezar a trabajar.