2020-09-26 16:45:52 +02:00
|
|
|
open Qcaml_common
|
2020-09-27 23:55:42 +02:00
|
|
|
open Qcaml_operators
|
2020-09-26 16:45:52 +02:00
|
|
|
|
2020-09-27 23:55:42 +02:00
|
|
|
type 'a t =
|
2020-09-26 16:45:52 +02:00
|
|
|
{
|
|
|
|
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 ;
|
2020-09-27 23:55:42 +02:00
|
|
|
zero_m_func : 'a t -> float array ;
|
|
|
|
operator : 'a Operator.t option;
|
2020-09-26 16:45:52 +02:00
|
|
|
}
|
|
|
|
|
2020-09-27 23:55:42 +02:00
|
|
|
let zero ?operator zero_m_func =
|
2020-09-26 16:45:52 +02:00
|
|
|
{
|
|
|
|
zero_m_func ;
|
2020-09-27 23:55:42 +02:00
|
|
|
operator ;
|
2020-09-26 16:45:52 +02:00
|
|
|
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 ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|