def _spark_reduce_op_chunk(chunk_a, chunk_b):
    """
    Reducer for values computation for chunks

    :param chunk_a: first chunk to reduce
    :type chunk_a: dict

    :param chunk_b: second chunk to reduce
    :type chunk_a: dict

    :return: a dict composed of the aggregated basic information of the previous chunks
    :rtype: dict
    """
    result = dict()
    if 'NB_POINTS' in chunk_a and 'NB_POINTS' in chunk_b:
        result['NB_POINTS'] = chunk_a['NB_POINTS'] + chunk_b['NB_POINTS']
    if 'MAX' in chunk_a and 'MAX' in chunk_b:
        result['MAX'] = max(chunk_a['MAX'], chunk_b['MAX'])
    if 'MIN' in chunk_a and 'MIN' in chunk_b:
        result['MIN'] = min(chunk_a['MIN'], chunk_b['MIN'])
    if 'SUM' in chunk_a and 'SUM' in chunk_b:
        result['SUM'] = chunk_a['SUM'] + chunk_b['SUM']
    if 'SQR_SUM' in chunk_a and 'SQR_SUM' in chunk_b:
        result['SQR_SUM'] = chunk_a['SQR_SUM'] + chunk_b['SQR_SUM']

    return result