您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ARG_CHECK函数代码示例

51自学网 2021-06-01 19:36:06
  C++
这篇教程C++ ARG_CHECK函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ARG_CHECK函数的典型用法代码示例。如果您正苦于以下问题:C++ ARG_CHECK函数的具体用法?C++ ARG_CHECK怎么用?C++ ARG_CHECK使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ARG_CHECK函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: secp256k1_ec_privkey_negate

int secp256k1_ec_privkey_negate(const secp256k1_context* ctx, unsigned char *seckey) {    secp256k1_scalar sec;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(seckey != NULL);    secp256k1_scalar_set_b32(&sec, seckey, NULL);    secp256k1_scalar_negate(&sec, &sec);    secp256k1_scalar_get_b32(seckey, &sec);    return 1;}
开发者ID:jgriffiths,项目名称:libwally-core,代码行数:11,


示例2: secp256k1_ecdsa_signature_parse_compact

int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input64) {    secp256k1_scalar r, s;    int ret = 1;    int overflow = 0;    (void)ctx;    ARG_CHECK(sig != NULL);    ARG_CHECK(input64 != NULL);    secp256k1_scalar_set_b32(&r, &input64[0], &overflow);    ret &= !overflow;    secp256k1_scalar_set_b32(&s, &input64[32], &overflow);    ret &= !overflow;    if (ret) {        secp256k1_ecdsa_signature_save(sig, &r, &s);    } else {        memset(sig, 0, sizeof(*sig));    }    return ret;}
开发者ID:joshlang,项目名称:Secp256k1.NET,代码行数:20,


示例3: secp256k1_ec_privkey_tweak_mul

int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {    secp256k1_scalar factor;    secp256k1_scalar sec;    int ret = 0;    int overflow = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(seckey != NULL);    ARG_CHECK(tweak != NULL);    secp256k1_scalar_set_b32(&factor, tweak, &overflow);    secp256k1_scalar_set_b32(&sec, seckey, NULL);    ret = !overflow && secp256k1_eckey_privkey_tweak_mul(&sec, &factor);    memset(seckey, 0, 32);    if (ret) {        secp256k1_scalar_get_b32(seckey, &sec);    }    secp256k1_scalar_clear(&sec);    secp256k1_scalar_clear(&factor);    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:21,


示例4: ffiPushStringOfLength

int ffiPushStringOfLength(int srcIndex, int length){	char *ptr;	ARG_CHECK(); /* fail before allocating */	ptr = (char*) malloc(length+1);	if(!ptr) return primitiveFail();	memcpy(ptr, (void*)srcIndex, length);	ptr[length] = 0;	ffiTempStrings[ffiTempStringCount++] = ptr;	ARG_PUSH((int)ptr);	return 1;}
开发者ID:Geal,项目名称:Squeak-VM,代码行数:12,


示例5: secp256k1_ec_seckey_verify

int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const unsigned char *seckey) {    secp256k1_scalar sec;    int ret;    int overflow;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(seckey != NULL);    secp256k1_scalar_set_b32(&sec, seckey, &overflow);    ret = !overflow && !secp256k1_scalar_is_zero(&sec);    secp256k1_scalar_clear(&sec);    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:12,


示例6: secp256k1_ec_pubkey_serialize

int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_pubkey* pubkey, unsigned int flags) {    secp256k1_ge Q;    size_t len;    int ret = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(outputlen != NULL);    ARG_CHECK(*outputlen >= ((flags & SECP256K1_FLAGS_BIT_COMPRESSION) ? 33 : 65));    len = *outputlen;    *outputlen = 0;    ARG_CHECK(output != NULL);    memset(output, 0, len);    ARG_CHECK(pubkey != NULL);    ARG_CHECK((flags & SECP256K1_FLAGS_TYPE_MASK) == SECP256K1_FLAGS_TYPE_COMPRESSION);    if (secp256k1_pubkey_load(ctx, &Q, pubkey)) {        ret = secp256k1_eckey_pubkey_serialize(&Q, output, &len, flags & SECP256K1_FLAGS_BIT_COMPRESSION);        if (ret) {            *outputlen = len;        }    }    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:22,


示例7: secp256k1_ec_pubkey_create

int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *seckey) {    secp256k1_gej pj;    secp256k1_ge p;    secp256k1_scalar sec;    int overflow;    int ret = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(pubkey != NULL);    memset(pubkey, 0, sizeof(*pubkey));    ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx));    ARG_CHECK(seckey != NULL);    secp256k1_scalar_set_b32(&sec, seckey, &overflow);    ret = (!overflow) & (!secp256k1_scalar_is_zero(&sec));    if (ret) {        secp256k1_ecmult_gen(&ctx->ecmult_gen_ctx, &pj, &sec);        secp256k1_ge_set_gej(&p, &pj);        secp256k1_pubkey_save(pubkey, &p);    }    secp256k1_scalar_clear(&sec);    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:22,


示例8: secp256k1_ec_pubkey_tweak_mul

int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) {    secp256k1_ge p;    secp256k1_scalar factor;    int ret = 0;    int overflow = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx));    ARG_CHECK(pubkey != NULL);    ARG_CHECK(tweak != NULL);    secp256k1_scalar_set_b32(&factor, tweak, &overflow);    if (!overflow && secp256k1_pubkey_load(ctx, &p, pubkey)) {        ret = secp256k1_eckey_pubkey_tweak_mul(&ctx->ecmult_ctx, &p, &factor);        if (ret) {            secp256k1_pubkey_save(pubkey, &p);        } else {            memset(pubkey, 0, sizeof(*pubkey));        }    }    return ret;}
开发者ID:aussiehash,项目名称:supervanitygen,代码行数:22,


示例9: secp256k1_ec_privkey_tweak_add

int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {    secp256k1_scalar term;    secp256k1_scalar sec;    int ret = 0;    int overflow = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(seckey != NULL);    ARG_CHECK(tweak != NULL);    (void)ctx;    secp256k1_scalar_set_b32(&term, tweak, &overflow);    secp256k1_scalar_set_b32(&sec, seckey, NULL);    ret = !overflow && secp256k1_eckey_privkey_tweak_add(&sec, &term);    if (ret) {        secp256k1_scalar_get_b32(seckey, &sec);    }    secp256k1_scalar_clear(&sec);    secp256k1_scalar_clear(&term);    return ret;}
开发者ID:aussiehash,项目名称:supervanitygen,代码行数:22,


示例10: do_list_cmd

/********************************************************************/ /** * Opens pictDB file and calls do_list command. ********************************************************************** */int do_list_cmd(int args, char* argv[]){    ARG_CHECK(args, 2);    struct pictdb_file db_file;    int ret = do_open(argv[1], "rb", &db_file);    if (ret == 0) {        do_list(&db_file);    }    do_close(&db_file);    return ret;}
开发者ID:vincenzobaz,项目名称:pictdb,代码行数:17,


示例11: secp256k1_ec_pubkey_combine

int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey *pubnonce, const secp256k1_pubkey * const *pubnonces, size_t n) {    size_t i;    secp256k1_gej Qj;    secp256k1_ge Q;    ARG_CHECK(pubnonce != NULL);    memset(pubnonce, 0, sizeof(*pubnonce));    ARG_CHECK(n >= 1);    ARG_CHECK(pubnonces != NULL);    secp256k1_gej_set_infinity(&Qj);    for (i = 0; i < n; i++) {        secp256k1_pubkey_load(ctx, &Q, pubnonces[i]);        secp256k1_gej_add_ge(&Qj, &Qj, &Q);    }    if (secp256k1_gej_is_infinity(&Qj)) {        return 0;    }    secp256k1_ge_set_gej(&Q, &Qj);    secp256k1_pubkey_save(pubnonce, &Q);    return 1;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:23,


示例12: secp256k1_ec_pubkey_negate

int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey *pubkey) {    int ret = 0;    secp256k1_ge p;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(pubkey != NULL);    ret = secp256k1_pubkey_load(ctx, &p, pubkey);    memset(pubkey, 0, sizeof(*pubkey));    if (ret) {        secp256k1_ge_neg(&p, &p);        secp256k1_pubkey_save(pubkey, &p);    }    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:14,


示例13: do_delete_cmd

/********************************************************************/ /** * Deletes a picture from the database. */int do_delete_cmd(int args, char* argv[]){    ARG_CHECK(args, 3);    struct pictdb_file db_file;    int ret = do_open(argv[1], "rb+", &db_file);    if (ret == 0) {        puts("Delete");        ret = do_delete(&db_file, argv[2]);    }    do_close(&db_file);    return ret;}
开发者ID:vincenzobaz,项目名称:pictdb,代码行数:18,


示例14: secp256k1_pubkey_load

static int secp256k1_pubkey_load(const secp256k1_context* ctx, secp256k1_ge* ge, const secp256k1_pubkey* pubkey) {    if (sizeof(secp256k1_ge_storage) == 64) {        /* When the secp256k1_ge_storage type is exactly 64 byte, use its         * representation inside secp256k1_pubkey, as conversion is very fast.         * Note that secp256k1_pubkey_save must use the same representation. */        secp256k1_ge_storage s;        memcpy(&s, &pubkey->data[0], sizeof(s));        secp256k1_ge_from_storage(ge, &s);    } else {        /* Otherwise, fall back to 32-byte big endian for X and Y. */        secp256k1_fe x, y;        secp256k1_fe_set_b32(&x, pubkey->data);        secp256k1_fe_set_b32(&y, pubkey->data + 32);        secp256k1_ge_set_xy(ge, &x, &y);    }    ARG_CHECK(!secp256k1_fe_is_zero(&ge->x));    return 1;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:18,


示例15: secp256k1_ecdsa_signature_normalize

int secp256k1_ecdsa_signature_normalize(const secp256k1_context* ctx, secp256k1_ecdsa_signature *sigout, const secp256k1_ecdsa_signature *sigin) {    secp256k1_scalar r, s;    int ret = 0;    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(sigin != NULL);    secp256k1_ecdsa_signature_load(ctx, &r, &s, sigin);    ret = secp256k1_scalar_is_high(&s);    if (sigout != NULL) {        if (ret) {            secp256k1_scalar_negate(&s, &s);        }        secp256k1_ecdsa_signature_save(sigout, &r, &s);    }    return ret;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:18,


示例16: secp256k1_context_randomize

int secp256k1_context_randomize(secp256k1_context* ctx, const unsigned char *seed32) {    VERIFY_CHECK(ctx != NULL);    ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx));    secp256k1_ecmult_gen_blind(&ctx->ecmult_gen_ctx, seed32);    return 1;}
开发者ID:apoelstra,项目名称:secp256k1,代码行数:6,


示例17: do_create_cmd

/********************************************************************/ /** * Prepares and calls do_create command.********************************************************************** */int do_create_cmd(int args, char* argv[]){    ARG_CHECK(args, 2);    char* filename = argv[1];    args -= 2;    argv += 2;    uint32_t max_files = FILE_DEFAULT;    uint16_t x_thumb_res = THUMB_DEFAULT;    uint16_t y_thumb_res = THUMB_DEFAULT;    uint16_t x_small_res = SMALL_DEFAULT;    uint16_t y_small_res = SMALL_DEFAULT;    // Use of int instead of size_t for the comparison with args    // For each command line argument, checks if there are enough arguments    // remaining, converts the arguments to integers and assigns them to the    // variable, and then checks if the variable is valid.    for (int i = 0; i < args; ++i) {        switch (parse_create_options(argv[i])) {        case MAX_FILES:            OPTION_ARG_CHECK(args, i, 1);            max_files = atouint32(argv[i + 1]);            if (max_files == 0 || max_files > MAX_MAX_FILES) {                return ERR_MAX_FILES;            }            i += 1;            break;        case THUMB_RES:            OPTION_ARG_CHECK(args, i, 2);            x_thumb_res = atouint16(argv[i + 1]);            y_thumb_res = atouint16(argv[i + 2]);            RES_CHECK(x_thumb_res, y_thumb_res, THUMB_MAX);            i += 2;            break;        case SMALL_RES:            OPTION_ARG_CHECK(args, i, 2);            x_small_res = atouint16(argv[i + 1]);            y_small_res = atouint16(argv[i + 2]);            RES_CHECK(x_small_res, y_small_res, SMALL_MAX);            i += 2;            break;        case INVALID_OPTION:            return ERR_INVALID_ARGUMENT;        }    }    puts("Create");    struct pictdb_header db_header = {        .max_files = max_files,        .res_resized = { x_thumb_res, y_thumb_res, x_small_res, y_small_res }    };    struct pictdb_file db_file = {.header = db_header };    int ret = do_create(filename, &db_file);    if (ret == 0) {        print_header(&db_file.header);    }    do_close(&db_file);    return ret;}
开发者ID:vincenzobaz,项目名称:pictdb,代码行数:66,



注:本文中的ARG_CHECK函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ARG_IS_D函数代码示例
C++ ARGUNUSED函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。