const vector 与 const_iterator

本文详细解释了两种指针类型的含义:一种是指向可修改内容的常量指针,即指针地址固定但所指内容可变;另一种是指向不可修改内容的指针,即所指内容固定不变,但指针本身可以指向其他地址。
可以这样理解,
前者等同于 常量指针 ,就是指针指向的位置不会变动,但是指针指向位置中的内容是可以改变的.
后者等同于 指向常量的指针,就是指针指向的位置可以变动,但是指针指向位置中的内容是不可以改变的.
#ifndef PROOF_CUH #define PROOF_CUH #include "fr-tensor.cuh" #include "g1-tensor.cuh" #include "commitment.cuh" #include "bls12-381.cuh" #include "polynomial.cuh" #include <vector> #include <random> struct Claim { Fr_t claim; std::vector<std::vector<Fr_t>> u; std::vector<uint> dims; }; struct Weight; void verifyWeightClaim(const Weight& w, const Claim& c); // struct Weight { // Commitment generator; // FrTensor weight; // G1TensorJacobian com; // }; KERNEL void Fr_ip_sc_step(GLOBAL Fr_t *a, GLOBAL Fr_t *b, GLOBAL Fr_t *out0, GLOBAL Fr_t *out1, GLOBAL Fr_t *out2, uint in_size, uint out_size); void Fr_ip_sc(const FrTensor& a, const FrTensor& b, vector<Fr_t>::const_iterator begin, vector<Fr_t>::const_iterator end, vector<Fr_t>& proof); vector<Fr_t> inner_product_sumcheck(const FrTensor& a, const FrTensor& b, vector<Fr_t> u); void Fr_hp_sc(const FrTensor& a, const FrTensor& b, vector<Fr_t>::const_iterator u_begin, vector<Fr_t>::const_iterator u_end, vector<Fr_t>::const_iterator v_begin, vector<Fr_t>::const_iterator v_end, vector<Fr_t>& proof); vector<Fr_t> hadamard_product_sumcheck(const FrTensor& a, const FrTensor& b, vector<Fr_t> u, vector<Fr_t> v); KERNEL void Fr_bin_sc_step(GLOBAL Fr_t *a, GLOBAL Fr_t *out0, GLOBAL Fr_t *out1, GLOBAL Fr_t *out2, uint in_size, uint out_size); void Fr_bin_sc(const FrTensor& a, vector<Fr_t>::const_iterator u_begin, vector<Fr_t>::const_iterator u_end, vector<Fr_t>::const_iterator v_begin, vector<Fr_t>::const_iterator v_end, vector<Fr_t>& proof); vector<Fr_t> binary_sumcheck(const FrTensor& a, vector<Fr_t> u, vector<Fr_t> v); bool operator==(const Fr_t& a, const Fr_t& b); bool operator!=(const Fr_t& a, const Fr_t& b); Fr_t multi_hadamard_sumchecks(const Fr_t& claim, const vector<FrTensor>& Xs, const vector<Fr_t>& u, const vector<Fr_t>& v, vector<Polynomial>& proof); #endif解释这个代码
最新发布
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值