Fiz algumas alterações no código e consegui resolver o problema. Agora funciona igual tanto em 32 quanto em 64. O novo código ficou assim:
typedef struct
{
char * cDivQ;
char * cDivR;
} stBIGNeDiv, * ptBIGNeDiv;
static void __TBIGNeDIV(const char * cN, const char * cD, HB_SIZE n, const HB ...
Pesquisa resultou em 7 ocorrências
- 24 Fev 2014 11:47
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
- 20 Fev 2014 17:44
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
Consegui evoluir com tBigNumber e converter as funções de adição, subtração multiplicação e divisão para C tornando o processo mais rápido. Mas percebi que em 64 o sistema se comporta de maneira inesperada e retorna, por vezes, valores errados no que diz respeito à divisão. Será que alguém pode me ...
- 09 Ago 2013 15:57
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
A função, ADD, utilizando String, ficou assim:
Static Function Add(a,b,n,nBase)
Local c := tBigNAdd(a,b,n,nBase)
Return(cGetcN(c,n+1))
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
HB_FUNC( TBIGNADD ){
const char * a = hb_itemGetCPtr(hb_param(1,HB_IT_STRING));
const char ...
Static Function Add(a,b,n,nBase)
Local c := tBigNAdd(a,b,n,nBase)
Return(cGetcN(c,n+1))
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
HB_FUNC( TBIGNADD ){
const char * a = hb_itemGetCPtr(hb_param(1,HB_IT_STRING));
const char ...
- 08 Ago 2013 23:58
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
Corrigindo o código em C para a inversão da String
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
HB_FUNC( TBIGNINVERT ){
PHB_ITEM pItem = hb_param(1,HB_IT_STRING);
HB_SIZE s = (HB_SIZE)hb_parnint(2);
HB_SIZE f = s;
HB_SIZE t = 0;
char * szStringTo = ( char * ) hb_xgrab(s+1 ...
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
HB_FUNC( TBIGNINVERT ){
PHB_ITEM pItem = hb_param(1,HB_IT_STRING);
HB_SIZE s = (HB_SIZE)hb_parnint(2);
HB_SIZE f = s;
HB_SIZE t = 0;
char * szStringTo = ( char * ) hb_xgrab(s+1 ...
- 08 Ago 2013 17:19
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
Um pequeno fragmento do que estou querendo fazer é esse:
/*
Funcao : tBigNInvert
Autor : Marinaldo de Jesus [http://www.blacktdn.com.br]
Data : 04/02/2013
Descricao : Inverte o Numero
Sintaxe : tBigNInvert(c,n) -> s
*/
#IFDEF __PROTHEUS__
Static Function tBigNInvert(c,n)
Local s ...
/*
Funcao : tBigNInvert
Autor : Marinaldo de Jesus [http://www.blacktdn.com.br]
Data : 04/02/2013
Descricao : Inverte o Numero
Sintaxe : tBigNInvert(c,n) -> s
*/
#IFDEF __PROTHEUS__
Static Function tBigNInvert(c,n)
Local s ...
- 08 Ago 2013 16:56
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
poderá ser obtido em:
https://github.com/NaldoDj/tBigNumber
ou
http://code.google.com/p/totvs-advpl-na ... tBigNumber
https://github.com/NaldoDj/tBigNumber
ou
http://code.google.com/p/totvs-advpl-na ... tBigNumber
- 08 Ago 2013 16:32
- Fórum: [x]Harbour
- Tópico: Conversão de fragmento de código xBase para C usando a API
- Respostas: 8
- Exibições: 1678
Conversão de fragmento de código xBase para C usando a API
Pessoal,
Boa tarde.
Estou me familiarizando com ambiente Harbour e, para isso, estou fazendo um programa para calcular números muito grandes, ao estilo BIGNUM do Java. É um programa didático que me permite explorar as características e o poder da linguagem. Acontece que alguns fragmentos do código ...
Boa tarde.
Estou me familiarizando com ambiente Harbour e, para isso, estou fazendo um programa para calcular números muito grandes, ao estilo BIGNUM do Java. É um programa didático que me permite explorar as características e o poder da linguagem. Acontece que alguns fragmentos do código ...