int bn_set_words(BIGNUM *a, const BN_ULONG *words, int num_words)
{
    if (bn_wexpand(a, num_words) == NULL) {
        BNerr(BN_F_BN_SET_WORDS, ERR_R_MALLOC_FAILURE);
        return 0;
    }
    memcpy(a->d, words, sizeof(BN_ULONG) * num_words);
    a->top = num_words;
    bn_correct_top(a);
    return 1;
}
['static int ecp_nistz256_set_from_affine(EC_POINT *out, const EC_GROUP *group,\n                                               const P256_POINT_AFFINE *in,\n                                               BN_CTX *ctx)\n{\n    int ret = 0;\n    if ((ret = bn_set_words(out->X, in->X, P256_LIMBS))\n        && (ret = bn_set_words(out->Y, in->Y, P256_LIMBS))\n        && (ret = bn_set_words(out->Z, ONE, P256_LIMBS)))\n        out->Z_is_one = 1;\n    return ret;\n}', 'int bn_set_words(BIGNUM *a, const BN_ULONG *words, int num_words)\n{\n    if (bn_wexpand(a, num_words) == NULL) {\n        BNerr(BN_F_BN_SET_WORDS, ERR_R_MALLOC_FAILURE);\n        return 0;\n    }\n    memcpy(a->d, words, sizeof(BN_ULONG) * num_words);\n    a->top = num_words;\n    bn_correct_top(a);\n    return 1;\n}', 'BIGNUM *bn_wexpand(BIGNUM *a, int words)\n{\n    return (words <= a->dmax) ? a : bn_expand2(a, words);\n}']