factor/native/complex.c

29 lines
537 B
C
Raw Normal View History

2004-08-06 02:51:32 -04:00
#include "factor.h"
void primitive_from_rect(void)
{
2004-12-24 17:29:16 -05:00
CELL real, imaginary;
F_COMPLEX* complex;
maybe_gc(sizeof(F_COMPLEX));
2004-12-24 17:29:16 -05:00
imaginary = dpop();
real = dpop();
complex = allot_object(COMPLEX_TYPE,sizeof(F_COMPLEX));
complex->real = real;
complex->imaginary = imaginary;
2005-03-29 20:34:29 -05:00
dpush(RETAG(complex,COMPLEX_TYPE));
2004-08-06 02:51:32 -04:00
}
void fixup_complex(F_COMPLEX* complex)
{
data_fixup(&complex->real);
data_fixup(&complex->imaginary);
}
void collect_complex(F_COMPLEX* complex)
{
copy_handle(&complex->real);
copy_handle(&complex->imaginary);
}