type t = { expo_p_inv : float ; expo_q_inv : float ; norm_pq_sq : float ; maxm : int ; center_pq : Coordinate.t ; center_pa : Coordinate.t ; center_qc : Coordinate.t ; f12_factor : F12factor.t option; range_separation : float option; zero_m_func : t -> float array ; } let zero ?f12_factor ?range_separation zero_m_func = { zero_m_func ; f12_factor ; range_separation ; maxm=0 ; expo_p_inv = 0.; expo_q_inv = 0.; norm_pq_sq = 0.; center_pq = Coordinate.zero ; center_pa = Coordinate.zero ; center_qc = Coordinate.zero ; }