From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA16939; Fri, 9 Mar 2001 14:14:05 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA16712 for caml-list@pauillac.inria.fr; Fri, 9 Mar 2001 14:14:04 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA13733 for ; Fri, 9 Mar 2001 10:56:25 +0100 (MET) Received: from frmta00.chello.fr (smtp.chello.fr [212.186.224.11]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f299uOv11873 for ; Fri, 9 Mar 2001 10:56:25 +0100 (MET) Received: from chello.fr ([213.245.110.99]) by frmta00.chello.fr with ESMTP id <20010309095616.IWJG5067.frmta00@chello.fr>; Fri, 9 Mar 2001 10:56:16 +0100 Message-ID: <3A96A832.E811CFBB@chello.fr> Date: Fri, 23 Feb 2001 19:13:06 +0100 From: pierre87 Reply-To: sseur@chello.fr X-Mailer: Mozilla 4.7 [fr] (Win98; I) X-Accept-Language: en,pdf MIME-Version: 1.0 To: patrick.goldbronn@cea.fr, caml-list@inria.fr Subject: [Caml-list] probleme II Content-Type: multipart/alternative; boundary="------------9DD8E526DA566C9D26677BD5" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk --------------9DD8E526DA566C9D26677BD5 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit bonjour je suis tombé sur ce mail très interessant je suis en thèse de physique à Jussieu et je travaille sur des images au format *.hdf mon problème = je cherche à convertir ces images en *.txt par exemple pour travailler les data et ensuite reformer un *.hdf ....cette deuxième étape m'est actuellement impossible connaissez vous un moye, de m'aider???? merci Pierre ************************ Subject: information sur camlidl (passage des tableaux) Bonjour, J'essaie d'utiliser camlidl pour intégrer une librairie C permettant d'accéder à des fichiers sous le format HDF. La particularité de cette librairie est qu'elle ne fait pas d'allocation mémoire. Lorsqu'on lit un tableau, il faut l'avoir alloué avant et le passer en argument pour le remplir ! Le problème avec camlidl, c'est qu'il transforme le tableau caml en tableau C et qu'il alloue un nouveau tableau caml qu'il remplit avec le tableau C retourné. Peut-on spécifier à camlidl qu'il s'agit en fait du meme tableau et qu'il n'a pas besoin d'en creer un nouveau. Autres remarques : Pourquoi ne pas se servir du fait que les tableaux de double caml sont les "memes" que les tableaux C et ne passer que le pointeur au lieu de dupliquer (comme cela est fait pour les strings !). Peut-on paramétrer camlidl pour qu'il fasse des actions spécifiques selon le type de l'argument ? Par exemple, j'utilise un type caml représentant un tableau de dimensions quelconques contenant un tableau d'entier (les dimensions du tableau) et un bloc avec le tag alloc_final contenant un pointeur vers un tableau C. type float_array = { fvect : float_array_adr ; fdims : int array ; } ;; Je définis une struct C le représentant. struct float_array { double *fvect ; int *fdims ; } Comment dire à camlidl que "int* fdims" et "fdims : int array" doivent etre recopié lorsqu'on passe de caml au C et réciproquement (fonctionnement normal) et que "double *fvect" et "fvect : float_array_adr" ne doivent pas être recopié mais simplement extraire les pointeurs (en tenant compte de l'alloc_final) ? ( si j'ai bien compris la doc et le source générer, cela à voir avec les fonctions ...c2ml... et ...ml2c...) Merci d'avance. PS : Peut-on trouver quelque part des exemples ou des informations supplémentaires sur l'utilisation de camlidl ? -- ##################################### # Patrick GOLDBRONN # # CEA - DRN/DMT/SYSCO # # CE-Saclay, Bâtiment 460 # # 91191 GIF/YVETTE CEDEX (FRANCE) # # # # Tél : 01 69 08 40 66 # # Fax : 01 69 08 96 96 # ##################################### --------------9DD8E526DA566C9D26677BD5 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit bonjour
je suis tombé sur ce mail très interessant
je suis en thèse de physique à Jussieu et je travaille sur des images au format *.hdf
mon problème = je cherche à convertir ces images en *.txt par exemple pour travailler les data et ensuite reformer un *.hdf ....cette deuxième étape m'est actuellement impossible
connaissez vous un moye, de m'aider????
merci
Pierre

************************
Subject: information sur camlidl (passage des tableaux)

Bonjour,

J'essaie d'utiliser camlidl pour intégrer une librairie C permettant
d'accéder à des fichiers sous le format HDF.

La particularité de cette librairie est qu'elle ne fait pas d'allocation
mémoire. Lorsqu'on lit un tableau, il faut l'avoir alloué avant et le
passer en argument pour le remplir !

Le problème avec camlidl, c'est qu'il transforme le tableau caml en
tableau C et qu'il alloue un nouveau tableau caml qu'il remplit avec le
tableau C retourné.
Peut-on spécifier à camlidl qu'il s'agit en fait du meme tableau et
qu'il n'a pas besoin d'en creer un nouveau.

Autres remarques :
Pourquoi ne pas se servir du fait que les tableaux de double caml sont
les "memes" que les tableaux C et ne passer que le pointeur au lieu de
dupliquer (comme cela est fait pour les strings !).

Peut-on paramétrer camlidl pour qu'il fasse des actions spécifiques
selon le type de l'argument ?
Par exemple, j'utilise un type caml représentant un tableau de
dimensions quelconques contenant un tableau d'entier (les dimensions du
tableau) et un bloc avec le tag alloc_final contenant un pointeur vers
un tableau C.

type float_array = {
    fvect : float_array_adr ;
    fdims : int array ;
 } ;;

Je définis une struct C le représentant.

struct float_array {
   double *fvect ;
   int *fdims ;
}

Comment dire à camlidl que "int* fdims" et "fdims : int array" doivent
etre recopié lorsqu'on passe de caml au C et réciproquement
(fonctionnement normal) et que "double *fvect" et "fvect :
float_array_adr" ne doivent pas être recopié mais simplement extraire
les pointeurs (en tenant compte de l'alloc_final) ?
( si j'ai bien compris la doc et le source générer, cela à voir avec les
fonctions ...c2ml... et ...ml2c...)
Merci d'avance.

PS : Peut-on trouver quelque part des exemples ou des informations
supplémentaires sur l'utilisation de camlidl ?

--
#####################################
# Patrick GOLDBRONN                 #
# CEA - DRN/DMT/SYSCO               #
# CE-Saclay, Bâtiment 460           #
# 91191 GIF/YVETTE CEDEX (FRANCE)   #
#                                   #
# Tél : 01 69 08 40 66              #
# Fax : 01 69 08 96 96              #
##################################### --------------9DD8E526DA566C9D26677BD5-- ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr