Bio-PhyloXS
view release on metacpan or search on metacpan
lib/Bio/PhyloXS/Matrices/TypeSafeData.xs view on Meta::CPAN
return self->datatype->gap;
}
TypeSafeData* set_gap(TypeSafeData* self, char gap) {
self->datatype->gap = gap;
return self;
}
char* get_type(TypeSafeData* self) {
char* retval;
switch(self->datatype->datatype) {
case _DNA_:
retval = "dna";
break;
case _RNA_:
retval = "rna";
break;
case _PROTEIN_:
retval = "protein";
break;
case _STANDARD_:
retval = "protein";
break;
case _CONTINUOUS_:
retval = "continuous";
break;
default:
warn("Datatype undefined");
break;
}
return retval;
}
Datatype* get_type_object(TypeSafeData* self) {
return self->datatype;
}
TypeSafeData* set_type_object(TypeSafeData* self, Datatype* type) {
self->datatype = type;
return self;
}
void destroy_typesafedata(TypeSafeData* self) {
destroy_listable((Listable*)self);
Safefree(self->datatype);
}
MODULE = Bio::PhyloXS::Matrices::TypeSafeData PACKAGE = Bio::PhyloXS::Matrices::TypeSafeData
PROTOTYPES: DISABLE
TypeSafeData *
create (classname)
const char * classname
void
initialize_typesafedata (self)
TypeSafeData * self
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
initialize_typesafedata(self);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
TypeSafeData *
set_type (self, type)
TypeSafeData * self
char * type
char
get_missing (self)
TypeSafeData * self
TypeSafeData *
set_missing (self, missing)
TypeSafeData * self
char missing
char
get_gap (self)
TypeSafeData * self
TypeSafeData *
set_gap (self, gap)
TypeSafeData * self
char gap
char *
get_type (self)
TypeSafeData * self
Datatype *
get_type_object (self)
TypeSafeData * self
TypeSafeData *
set_type_object (self, type)
TypeSafeData * self
Datatype * type
void
destroy_typesafedata (self)
TypeSafeData * self
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
destroy_typesafedata(self);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
( run in 0.455 second using v1.01-cache-2.11-cpan-71847e10f99 )