Re: binary io

• To: mathgroup at yoda.ncsa.uiuc.edu
• Subject: Re: binary io
• From: xinwei at jessica.stanford.edu
• Date: Wed, 05 Sep 90 11:50:35 -0700

```As for getting binary data out from Mathematica, one workaround
for simple functions (without control structures), is to
apply CForm[], then cut & paste the result into a C program]
to generate the data.  Of course, you might have to write a small
set of atomic C glue functions for those functions produced by CForm
which aren't in the standard C libraries.  Here's a test example
for producing binary data for a NeXT app (I stripped out the
functions originally generated by CForm, to save space.):

#include	<stdio.h>
#include	<varargs.h>
#include	<strings.h>
#include   <math.h>

#import <sys/file.h>
#import <sys/types.h>
#import <sys/stat.h>

#define FLOATSIZE	(sizeof(float))
#define NUMPOINTS	20
#define PI  	3.14159265359

main()
{
int fd;

fd = setupfile();
if (fd >=0)
{
writepts(fd);
close(fd);
}
}

int setupfile()
{
int numpts;
int fd;

fd = open("/xinwei/mobjunk.top", O_CREAT | O_RDWR, 777 );
if (fd < 0)
{
/*	char message[256];
sprintf(message,"Cannot open file.");
return fd;
}
numpts = NUMPOINTS;
write(fd, &numpts, sizeof(int));
return fd;
}

float Sqrt(float x)
{
float xx;
xx = (float) sqrt(x);
return (xx);
}

float Sign(float x)
{
return ((x < 0) ? -1.0 : 1.0) ;
}

float Power(float x, int n)
{
float xx;
xx = (float) pow((double) x, (double) n);
return (xx);
}

float mob1(float t,float s)
{
return(t);
}

float mob2(float t,float s)
{
return (s);
}

float mob3(float t,float s)
{
return(Power(2.7,- Power(t,2) - Power(s,2)));
}

int writepts(fd)
int fd;	/* file descriptor */
{
int i,j;
float t,s,x;
int cc;

for (i= 0; i < NUMPOINTS; i++) {
for (j = 0; j < NUMPOINTS; j++) {
t = (i / (float) NUMPOINTS) * 1.6 - 0.8;
s = (j / (float) NUMPOINTS) * 2 * PI;
/* write  point  to file */

x = mob1(t,s);
cc = write(fd,&x , FLOATSIZE);
x = mob2(t,s);
cc = write(fd,&x , FLOATSIZE);
x = mob3(t,s);
cc = write(fd,&x , FLOATSIZE);
}
}
}

```

• Prev by Date: solve hangs on Arc Functions
• Next by Date: Spherical Harmonic
• Previous by thread: solve hangs on Arc Functions
• Next by thread: Spherical Harmonic