Exemple #1
0
/* Gets the storage specification for this representation. */
static void get_storage_spec(PARROT_INTERP, STable *st, storage_spec *spec) {
    P6numREPRData *repr_data = (P6numREPRData *) st->REPR_data;
    spec->inlineable         = STORAGE_SPEC_INLINED;
    spec->boxed_primitive    = STORAGE_SPEC_BP_NUM;
    spec->can_box            = STORAGE_SPEC_CAN_BOX_NUM;

    if (repr_data && repr_data->bits) {
        spec->bits = repr_data->bits;
    }
    else {
        spec->bits = sizeof(FLOATVAL) * 8;
    }

    switch (spec->bits) {
    case 32:
        spec->align = ALIGNOF1(Parrot_Float4);
        break;
    case 64:
        spec->align = ALIGNOF1(Parrot_Float8);
        break;
    default:
        die_bad_bits(interp);
        break;
    }
}
Exemple #2
0
/* Gets the storage specification for this representation. */
static void get_storage_spec(PARROT_INTERP, STable *st, storage_spec *spec) {
    UNUSED(interp);
    UNUSED(st);
    spec->inlineable      = STORAGE_SPEC_INLINED;
    spec->bits            = sizeof(mp_int) * 8;
    spec->align           = ALIGNOF1(mp_int);
    spec->boxed_primitive = STORAGE_SPEC_BP_INT;
    spec->can_box         = STORAGE_SPEC_CAN_BOX_INT;
}
Exemple #3
0
/* Gets the storage specification for this representation. */
static storage_spec get_storage_spec(PARROT_INTERP, STable *st) {
    storage_spec spec;
    spec.inlineable = STORAGE_SPEC_INLINED;
    spec.bits = sizeof(mp_int) * 8;
    spec.align = ALIGNOF1(mp_int);
    spec.boxed_primitive = STORAGE_SPEC_BP_INT;
    spec.can_box = STORAGE_SPEC_CAN_BOX_INT;
    return spec;
}