MphChlUtils { public static double computeChlPolynomial(double mph) { final double mph_sq = mph * mph; final double mph_p3 = mph_sq * mph; final double mph_p4 = mph_sq * mph_sq; return 5.2392E9 * mph_p4 - 1.9524E8 * mph_p3 + 2.4649E6 * mph_sq + 4.0172E3 * mph + 1.9726; }  static FlagCoding createMphChlFlagCoding(String flagId); static void setupMphChlBitmask(Product mphChlProduct); static int encodeFlags(boolean cyano_flag, boolean floating_flag, boolean adj_flag); static double computeChlExponential(double mph); static double computeChlPolynomial(double mph); static boolean isCyano(double SICF_peak, double SIPF_peak, double BAIR_peak); static boolean isCyano(double SICF_peak, double SIPF_peak); static void setToInvalid(WritableSample[] targetSamples, boolean exportMph); static double computeMph(double rBr_Max, double r_7, double r_14, double wl_max, double wl_7, double wl_14);  }
@Test public void testComputeChlPolynomial() { Assert.assertEquals(353732.6926, MphChlUtils.computeChlPolynomial(0.1), 1e-8); Assert.assertEquals(8.2646992, MphChlUtils.computeChlPolynomial(0.001), 1e-8); Assert.assertEquals(1.9726, MphChlUtils.computeChlPolynomial(0.0), 1e-8); }