def calc_dot ( fun , point , step , stencil , coeffs , args = () , kwargs = {} ) :
    """Calculate an expression   sum_i f ( x + s_i h  ) c_i 
    - fun the function
    - point the point 
    - step  the step
    - stencil the stencil  (s_i) 
    - coeffs  coefficients (c_i) 
    """
    
    point  = float ( point )
    step   = float ( step  )
    
    result = 0.0    
    for s , c in zip ( stencil , coeffs ) :
        
        if c :
            x       = point + s * step
            result += c * fun ( x , *args , **kwargs )
            
    return result