genesys: Remove no longer needed conversions to single precision float

merge-requests/340/head
Povilas Kanapickas 2020-02-03 00:41:56 +02:00
rodzic 325aba25f1
commit 3b27241e07
7 zmienionych plików z 47 dodań i 48 usunięć

Wyświetl plik

@ -3973,13 +3973,13 @@ static void set_xy_range_option_values(Genesys_Scanner& s)
{ {
if (s.scan_method == ScanMethod::FLATBED) if (s.scan_method == ScanMethod::FLATBED)
{ {
s.opt_x_range = create_range(static_cast<float>(s.dev->model->x_size)); s.opt_x_range = create_range(s.dev->model->x_size);
s.opt_y_range = create_range(static_cast<float>(s.dev->model->y_size)); s.opt_y_range = create_range(s.dev->model->y_size);
} }
else else
{ {
s.opt_x_range = create_range(static_cast<float>(s.dev->model->x_size_ta)); s.opt_x_range = create_range(s.dev->model->x_size_ta);
s.opt_y_range = create_range(static_cast<float>(s.dev->model->y_size_ta)); s.opt_y_range = create_range(s.dev->model->y_size_ta);
} }
s.opt[OPT_TL_X].constraint.range = &s.opt_x_range; s.opt[OPT_TL_X].constraint.range = &s.opt_x_range;
@ -4090,8 +4090,8 @@ static void init_options(Genesys_Scanner* s)
s->opt[OPT_GEOMETRY_GROUP].size = 0; s->opt[OPT_GEOMETRY_GROUP].size = 0;
s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
s->opt_x_range = create_range(static_cast<float>(model->x_size)); s->opt_x_range = create_range(model->x_size);
s->opt_y_range = create_range(static_cast<float>(model->y_size)); s->opt_y_range = create_range(model->y_size);
// scan area // scan area
s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X;

Wyświetl plik

@ -1268,8 +1268,8 @@ void CommandSetGl124::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
/* y (motor) distance to move to reach scanned area */ /* y (motor) distance to move to reach scanned area */
move_dpi = dev->motor.base_ydpi/4; move_dpi = dev->motor.base_ydpi/4;
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
move += static_cast<float>(dev->settings.tl_y); move += dev->settings.tl_y;
move = static_cast<float>((move * move_dpi) / MM_PER_INCH); move = static_cast<float>((move * move_dpi) / MM_PER_INCH);
DBG (DBG_info, "%s: move=%f steps\n", __func__, move); DBG (DBG_info, "%s: move=%f steps\n", __func__, move);
@ -1281,8 +1281,8 @@ void CommandSetGl124::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
DBG(DBG_info, "%s: move=%f steps\n", __func__, move); DBG(DBG_info, "%s: move=%f steps\n", __func__, move);
/* start */ /* start */
start = static_cast<float>(dev->model->x_offset); start = dev->model->x_offset;
start += static_cast<float>(dev->settings.tl_x); start += dev->settings.tl_x;
start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres);
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);

Wyświetl plik

@ -1791,12 +1791,12 @@ static void setup_for_scan(Genesys_Device* dev,
if (!split) { if (!split) {
if (!dev->model->is_sheetfed) { if (!dev->model->is_sheetfed) {
if (ycorrection) { if (ycorrection) {
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
} }
// add tl_y to base movement // add tl_y to base movement
} }
move += static_cast<float>(settings.tl_y); move += settings.tl_y;
if (move < 0) { if (move < 0) {
DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move);
@ -1806,12 +1806,12 @@ static void setup_for_scan(Genesys_Device* dev,
move = static_cast<float>((move * dev->motor.optical_ydpi) / MM_PER_INCH); move = static_cast<float>((move * dev->motor.optical_ydpi) / MM_PER_INCH);
DBG(DBG_info, "%s: move=%f steps\n", __func__, move); DBG(DBG_info, "%s: move=%f steps\n", __func__, move);
float start = static_cast<float>(settings.tl_x); float start = settings.tl_x;
if (xcorrection) { if (xcorrection) {
if (settings.scan_method == ScanMethod::FLATBED) { if (settings.scan_method == ScanMethod::FLATBED) {
start += static_cast<float>(dev->model->x_offset); start += dev->model->x_offset;
} else { } else {
start += static_cast<float>(dev->model->x_offset_ta); start += dev->model->x_offset_ta;
} }
} }
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);
@ -3368,10 +3368,10 @@ ScanSession CommandSetGl646::calculate_scan_session(const Genesys_Device* dev,
float move = 0; float move = 0;
// XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ // XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */
if (!dev->model->is_sheetfed) { if (!dev->model->is_sheetfed) {
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
// add tl_y to base movement // add tl_y to base movement
} }
move += static_cast<float>(settings.tl_y); move += settings.tl_y;
if (move < 0) { if (move < 0) {
DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move);
@ -3379,11 +3379,11 @@ ScanSession CommandSetGl646::calculate_scan_session(const Genesys_Device* dev,
} }
move = static_cast<float>((move * dev->motor.optical_ydpi) / MM_PER_INCH); move = static_cast<float>((move * dev->motor.optical_ydpi) / MM_PER_INCH);
float start = static_cast<float>(settings.tl_x); float start = settings.tl_x;
if (settings.scan_method == ScanMethod::FLATBED) { if (settings.scan_method == ScanMethod::FLATBED) {
start += static_cast<float>(dev->model->x_offset); start += dev->model->x_offset;
} else { } else {
start += static_cast<float>(dev->model->x_offset_ta); start += dev->model->x_offset_ta;
} }
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);

Wyświetl plik

@ -1655,17 +1655,17 @@ ScanSession CommandSetGl841::calculate_scan_session(const Genesys_Device* dev,
// relative from origin, else, it is from parking position // relative from origin, else, it is from parking position
float move = 0.0f; float move = 0.0f;
if (has_flag(dev->model->flags, ModelFlag::SEARCH_START)) { if (has_flag(dev->model->flags, ModelFlag::SEARCH_START)) {
move += static_cast<float>(dev->model->y_offset_calib_white); move += dev->model->y_offset_calib_white;
} }
move += static_cast<float>(dev->model->y_offset); move += dev->model->y_offset;
move += static_cast<float>(dev->settings.tl_y); move += dev->settings.tl_y;
int move_dpi = dev->motor.base_ydpi; int move_dpi = dev->motor.base_ydpi;
move = static_cast<float>((move * move_dpi) / MM_PER_INCH); move = static_cast<float>((move * move_dpi) / MM_PER_INCH);
float start = static_cast<float>(dev->model->x_offset); float start = dev->model->x_offset;
start += static_cast<float>(dev->settings.tl_x); start += dev->settings.tl_x;
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);
// we enable true gray for cis scanners only, and just when doing // we enable true gray for cis scanners only, and just when doing
@ -1990,10 +1990,9 @@ void CommandSetGl841::eject_document(Genesys_Device* dev) const
} }
} }
feed_mm = static_cast<float>(dev->model->eject_feed); feed_mm = dev->model->eject_feed;
if (dev->document) if (dev->document) {
{ feed_mm += dev->model->post_scan;
feed_mm += static_cast<float>(dev->model->post_scan);
} }
sanei_genesys_read_feed_steps(dev, &init_steps); sanei_genesys_read_feed_steps(dev, &init_steps);

Wyświetl plik

@ -1251,11 +1251,11 @@ void CommandSetGl843::init_regs_for_scan_session(Genesys_Device* dev, const Gene
DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read); DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read);
} }
static double get_model_x_offset_ta(const Genesys_Device& dev, static float get_model_x_offset_ta(const Genesys_Device& dev,
const Genesys_Settings& settings) const Genesys_Settings& settings)
{ {
if (dev.model->model_id == ModelId::CANON_8600F && settings.xres == 4800) { if (dev.model->model_id == ModelId::CANON_8600F && settings.xres == 4800) {
return 85.0; return 85.0f;
} }
return dev.model->x_offset_ta; return dev.model->x_offset_ta;
} }
@ -1276,16 +1276,16 @@ ScanSession CommandSetGl843::calculate_scan_session(const Genesys_Device* dev,
// note: move_to_ta() function has already been called and the sensor is at the // note: move_to_ta() function has already been called and the sensor is at the
// transparency adapter // transparency adapter
if (!dev->ignore_offsets) { if (!dev->ignore_offsets) {
move = static_cast<float>(dev->model->y_offset_ta - dev->model->y_offset_sensor_to_ta); move = dev->model->y_offset_ta - dev->model->y_offset_sensor_to_ta;
} }
flags |= ScanFlag::USE_XPA; flags |= ScanFlag::USE_XPA;
} else { } else {
if (!dev->ignore_offsets) { if (!dev->ignore_offsets) {
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
} }
} }
move += static_cast<float>(settings.tl_y); move += settings.tl_y;
int move_dpi = dev->motor.base_ydpi; int move_dpi = dev->motor.base_ydpi;
move = static_cast<float>((move * move_dpi) / MM_PER_INCH); move = static_cast<float>((move * move_dpi) / MM_PER_INCH);
@ -1294,11 +1294,11 @@ ScanSession CommandSetGl843::calculate_scan_session(const Genesys_Device* dev,
if (settings.scan_method==ScanMethod::TRANSPARENCY || if (settings.scan_method==ScanMethod::TRANSPARENCY ||
settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
{ {
start = static_cast<float>(get_model_x_offset_ta(*dev, settings)); start = get_model_x_offset_ta(*dev, settings);
} else { } else {
start = static_cast<float>(dev->model->x_offset); start = dev->model->x_offset;
} }
start = static_cast<float>(start + settings.tl_x); start = start + settings.tl_x;
if (dev->model->model_id == ModelId::CANON_8400F || if (dev->model->model_id == ModelId::CANON_8400F ||
dev->model->model_id == ModelId::CANON_8600F) dev->model->model_id == ModelId::CANON_8600F)
@ -1716,11 +1716,11 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
dev->settings.scan_method); dev->settings.scan_method);
if (should_calibrate_only_active_area(*dev, dev->settings)) { if (should_calibrate_only_active_area(*dev, dev->settings)) {
float offset = static_cast<float>(get_model_x_offset_ta(*dev, dev->settings)); float offset = get_model_x_offset_ta(*dev, dev->settings);
offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
offset = static_cast<float>((offset * resolution) / MM_PER_INCH); offset = static_cast<float>((offset * resolution) / MM_PER_INCH);
float size = static_cast<float>(dev->model->x_size_ta); float size = dev->model->x_size_ta;
size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
size = static_cast<float>((size * resolution) / MM_PER_INCH); size = static_cast<float>((size * resolution) / MM_PER_INCH);

Wyświetl plik

@ -1041,8 +1041,8 @@ void CommandSetGl846::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
move_dpi = dev->motor.base_ydpi; move_dpi = dev->motor.base_ydpi;
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
move = static_cast<float>(move + dev->settings.tl_y); move = move + dev->settings.tl_y;
move = static_cast<float>((move * move_dpi) / MM_PER_INCH); move = static_cast<float>((move * move_dpi) / MM_PER_INCH);
move -= dev->head_pos(ScanHeadId::PRIMARY); move -= dev->head_pos(ScanHeadId::PRIMARY);
DBG(DBG_info, "%s: move=%f steps\n", __func__, move); DBG(DBG_info, "%s: move=%f steps\n", __func__, move);
@ -1062,8 +1062,8 @@ void CommandSetGl846::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
DBG(DBG_info, "%s: move=%f steps\n", __func__, move); DBG(DBG_info, "%s: move=%f steps\n", __func__, move);
/* start */ /* start */
start = static_cast<float>(dev->model->x_offset); start = dev->model->x_offset;
start = static_cast<float>(start + dev->settings.tl_x); start = start + dev->settings.tl_x;
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);
ScanSession session; ScanSession session;
@ -1181,7 +1181,7 @@ SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genes
int turn; int turn;
uint16_t exp[3]; uint16_t exp[3];
float move = static_cast<float>(dev->model->y_offset_calib_white); float move = dev->model->y_offset_calib_white;
move = static_cast<float>((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH); move = static_cast<float>((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH);
if(move>20) if(move>20)
{ {

Wyświetl plik

@ -1041,7 +1041,7 @@ void CommandSetGl847::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
move_dpi = dev->motor.base_ydpi; move_dpi = dev->motor.base_ydpi;
move = static_cast<float>(dev->model->y_offset); move = dev->model->y_offset;
move = static_cast<float>(move + dev->settings.tl_y); move = static_cast<float>(move + dev->settings.tl_y);
move = static_cast<float>((move * move_dpi) / MM_PER_INCH); move = static_cast<float>((move * move_dpi) / MM_PER_INCH);
move -= dev->head_pos(ScanHeadId::PRIMARY); move -= dev->head_pos(ScanHeadId::PRIMARY);
@ -1062,8 +1062,8 @@ void CommandSetGl847::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
DBG(DBG_info, "%s: move=%f steps\n", __func__, move); DBG(DBG_info, "%s: move=%f steps\n", __func__, move);
/* start */ /* start */
start = static_cast<float>(dev->model->x_offset); start = dev->model->x_offset;
start = static_cast<float>(start + dev->settings.tl_x); start = start + dev->settings.tl_x;
start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH); start = static_cast<float>((start * sensor.optical_res) / MM_PER_INCH);
ScanSession session; ScanSession session;
@ -1182,7 +1182,7 @@ SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genes
uint16_t exp[3]; uint16_t exp[3];
float move; float move;
move = static_cast<float>(dev->model->y_offset_calib_white); move = dev->model->y_offset_calib_white;
move = static_cast<float>((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH); move = static_cast<float>((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH);
if (move > 20) { if (move > 20) {
scanner_move(*dev, dev->model->default_method, static_cast<unsigned>(move), scanner_move(*dev, dev->model->default_method, static_cast<unsigned>(move),