Skip to content

Parsing scientific notation as integers#171

Merged
jmarshall merged 3 commits into
developfrom
scientific-region
Mar 30, 2015
Merged

Parsing scientific notation as integers#171
jmarshall merged 3 commits into
developfrom
scientific-region

Conversation

@jmarshall

Copy link
Copy Markdown
Member

This suggested pull request adds to the previous scientific notation functionality (772ba54), adding a utility function that uses strtol() when it can (so faithful accuracy is clear and obvious) or strtod() if needed (because scientific notation has been used).

pd3 and others added 2 commits January 21, 2015 15:19
for example 20:30000000-32000000 can be now given also as 20:3e7-3.2e7.
Replaced atoi parameter parsing with strtol to recognised user errors.
Add a function encapsulating parsing either integer or scientific
notation and returning int.  This allows integer items such as regions
to be given in scientific notation if desired, while ensuring that when
given as integers they are unequivocally parsed accurately as integers.
Parse digits by hand in hts_parse_decimal(), allowing integer parsing
of integer or scientific notation possibly with commas (before the decimal
point), and allowing possible future expansion to "3Mbp" and the like.

Add doxygen-style documentation, noting that warnings will be produced
for invalid input.

Rewrite hts_parse_reg() to take advantage of hts_parse_decimal()'s comma
abilities and validation.  Return NULL (instead of suggesting the sequence
name is the whole region string) when the region cannot be parsed.

(Changing the "*beg > *end" test to ">=" fixes the off-by-1 aspect
of samtools/samtools#353; returning NULL provides the opportunity to
improve the error message.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants