]> git.llucax.com Git - z.facultad/75.29/dale.git/log
z.facultad/75.29/dale.git
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.