1 /* 2 * Copyright (C) 2010 Regents of the University of Michigan 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #include "BaseQualityHelper.h" 19 20 #include <math.h> 21 22 baseQualityConvertor bQualityConvertor; 23 baseQualityConvertor()24baseQualityConvertor::baseQualityConvertor() 25 { 26 // Create a quick lookup table to speed up conversion of 27 // base quality values stored as log10 (error rates) into 28 // fractional error rates 29 for (int i = 0; i <= 255; i++) 30 doubleLookup[i] = pow(0.1, i * 0.1); 31 // doubleLookup[255] = 0.0; 32 } 33 toDouble(unsigned char bq)34double baseQualityConvertor::toDouble(unsigned char bq) 35 { 36 return doubleLookup[bq]; 37 } 38 39