func deserializeReversePurgeLongHashMapFromString()

in frequencies/reverse_purge_long_hash_map.go [245:279]


func deserializeReversePurgeLongHashMapFromString(string string) (*reversePurgeLongHashMap, error) {
	tokens := strings.Split(string, ",")
	if len(tokens) < 2 {
		return nil, errors.New("len(tokens) < 2")
	}
	numActive, err := strconv.Atoi(tokens[0])
	if err != nil {
		return nil, err
	}
	length, err := strconv.Atoi(tokens[1])
	if err != nil {
		return nil, err
	}
	table, err := newReversePurgeLongHashMap(length)
	if err != nil {
		return nil, err
	}
	j := 2
	for i := 0; i < numActive && err == nil; i++ {
		key, err := strconv.Atoi(tokens[j])
		if err != nil {
			return nil, err
		}
		value, err := strconv.Atoi(tokens[j+1])
		if err != nil {
			return nil, err
		}
		err = table.adjustOrPutValue(int64(key), int64(value))
		if err != nil {
			return nil, err
		}
		j += 2
	}
	return table, nil
}