Aide - Recherche - Membres - Calendrier
Version complète : [RESOLU] Appel aux fonctions mathématiques intégrées sous PODS
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Fredouille.95
Comme c'est écrit ci-dessus je voudrais utiliser la fonction "ceil".
Si ma mémoire est bonne, cette fonction sert à arrondir un flottant vers l'entier supérieur.

Problème, je ne sais pas quel fichiers de déclaration (#include <xxx.h>) je dois inclure.
Si j'inclus simplement le fichier "math.h", il y a conflit avec la définition des fonctions trigonométriques.

J'obtiens cette erreur
"...
In file included from ../src/crtc.c:20:
/usr/lib/gcc-lib/m68k-palmos/2.95.3-kgpd/../../../../m68k-palmos/include/Math.h:48: warning:
..."

Comme faites-vous ?
lu1u
Et pourquoi n'utiliserai tu pas Mathlib ?

http://www.radiks.net/~rhuebner/mathlib.html

Ca marche bien
Fredouille.95
Merci sourire.gif

Mais en fait, je n'ai pas envie d'ajouter une dépendance à une librairie externe, et donc devoir faire attention aux versions de cette librairie utilisée par beaucoup, pour si peu.

Alors, je ne sais pas si la logique est bonne, mais bon, je remplace ceil par un cast vers un entier puis je rajoute 1. Et tant pis s'il n'y a pas de décimal !!
lu1u
Comme les sources sont disponibles, tu peux essayer "d'inclure" uniquement la fonction dans ton programme.

C'est de l'opensource, mais vérifie quand même si ma solution ne viole aucun copyright, copyleft, copycentre ou que sais-je encore.

Ta méthode ne fonctionne pas si la partie décimale de ton flottant = 0:
int i = ((int)flottant) + 1 ;
si flottant = 4.0, alors i = 5.

et pourquoi pas:
int monEntierAMoi = (int)( monFlottantQueJAime + 0.999) ?
Tout dépend de la précision dont tu estimes avoir besoin (tu peux ajouter des 9 après la virgule wink.gif ) .
Fredouille.95
CITATION(lu1u @ 11/04/2006 à 16:29 ) *
et pourquoi pas:
int monEntierAMoi = (int)( monFlottantQueJAime + 0.999) ?
Tout dépend de la précision dont tu estimes avoir besoin (tu peux ajouter des 9 après la virgule wink.gif ) .


Mais dis moi, ça m'a l'air d'être une trés bonne idée ça...J'adopte top.gif

Merci dieu.gif lu1u dieu.gif
olivier101
CITATION(Fredouille.95 @ 11/04/2006 à 09:50 ) *
Mais en fait, je n'ai pas envie d'ajouter une dépendance à une librairie externe, et donc devoir faire attention aux versions de cette librairie

La librairie n'a pas évolué depuis 2001... elle est plutôt stable sleep.gif
Fredouille.95
CITATION(olivier101 @ 11/04/2006 à 20:09 ) *
La librairie n'a pas évolué depuis 2001... elle est plutôt stable sleep.gif


C'est une bonne info... sourire.gif
lu1u
De nada anim_grin.gif

Pour info, voici la note "copyright" qui figure dans le fichier s_ceil.c de mathlib:

====================================================
* Copyright © 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================

Sans être juriste, je pense qu'on peux l'utiliser...
olivier101
CITATION(lu1u @ 12/04/2006 à 08:18 ) *
Pour info, voici la note "copyright" qui figure dans le fichier s_ceil.c de mathlib:

Pas la peine de fouiller, c'est écrit sur la home page: "These routines have been ported from the GCC 2.7.2.2 source code for libm.a (which was itself based on free code originally developed by Sun Microsystems, Inc.), so this library is free software covered by the GNU Library General Public License."
Fredouille.95
Merci à vous deux, je pense avoir toutes les réponses. J'indique ce problème comme résolu !!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.