// https://github.com/sfwa/TRICAL public TRICAL(float[] expectedField, float norm, float noise = 1.5f) { handle = TRICALWrapper.CreateTRICAL(); TRICALWrapper.TRICAL_init(handle); TRICALWrapper.TRICAL_norm_set(handle, norm); TRICALWrapper.TRICAL_noise_set(handle, noise); ExpectedField = expectedField; }
internal static extern void TRICAL_measurement_calibrate(TRICALSafeHandle ptr, float[] measurement, float[] calibrated_measurement);
internal static extern void TRICAL_estimate_get_ext(TRICALSafeHandle ptr, float[] bias_estimate, float[] scale_estimate, float[] bias_estimate_variance, float[] scale_estimate_variance);
internal static extern void TRICAL_estimate_update(TRICALSafeHandle ptr, float[] measurement, float[] reference_field);
internal static extern int TRICAL_measurement_count_get(TRICALSafeHandle ptr);
internal static extern float TRICAL_noise_get(TRICALSafeHandle ptr);
internal static extern void TRICAL_noise_set(TRICALSafeHandle ptr, float noise);
internal static extern void TRICAL_reset(TRICALSafeHandle ptr);