func NewAccumulatorWithValue(params *AccumulatorAndProofParams, d Denomination, value *big.Int) (*Accumulator, error) {
	a := &Accumulator{}

	a.params = params
	a.denomination = d

	if !a.params.Initialized {
		return nil, errors.New("zerocoin parameters must be initialized")
	}

	if value.Cmp(big.NewInt(0)) != 0 {
		a.value = value
	} else {
		a.value = params.AccumulatorBase
	}
	return a, nil
}
// NewAccumulatorWithValue initializes an accumulator with given zerocoin params,
// denomination, and with a preset value.
NewAccumulatorWithValue initializes an accumulator with given zerocoin params,
denomination, and with a preset value.
// NewAccumulatorWithValue initializes an accumulator with given zerocoin params // denomination and with a preset value .
func NewAccumulatorWithValue(params *AccumulatorAndProofParams, d Denomination, value *big.Int) (*Accumulator, error) {
	a := &Accumulator{}
	a.params = params
	a.denomination = d
	if !a.params.Initialized {
		return nil, errors.New("zerocoin parameters must be initialized")
	}
	if value.Cmp(big.NewInt(0)) != 0 {
		a.value = value
	} else {
		a.value = params.AccumulatorBase
	}
	return a, nil
}
func NewAccumulatorWithValue ( params * AccumulatorAndProofParams , d Denomination , value * big . Int ) ( * Accumulator , error ) { a := & Accumulator { } a . params = params a . denomination = d if ! a . params . Initialized { return nil , errors . New ( " " ) } if value . Cmp ( big . NewInt ( 0 ) ) != 0 { a . value = value } else { a . value = params . AccumulatorBase } return a , nil }
NewAccumulatorWithValue initializes an accumulator with given zerocoin params,
denomination, and with a preset value.
NewAccumulatorWithValue initializes an accumulator with given zerocoin params denomination and with a preset value .