public class Parser
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static float[] |
decimalScale |
static float |
FLOAT_MIN_SAFE |
private static float[] |
tensScale |
Constructor and Description |
---|
Parser() |
Modifier and Type | Method and Description |
---|---|
static float |
approx(float f,
float n) |
private static boolean |
checkTrailingText(java.lang.String str,
int ich,
int ichMax) |
static java.lang.String |
concatTokens(java.lang.String[] tokens,
int iFirst,
int iEnd) |
private static int |
countTokens(java.lang.String line,
int ich) |
static double |
dVal(java.lang.String s) |
static float[] |
extractData(java.lang.String data,
int field,
int nBytes,
int firstLine) |
private static java.lang.String |
fixDataString(java.lang.String str) |
static float |
fVal(java.lang.String s) |
static java.lang.String |
getQuotedAttribute(java.lang.String info,
java.lang.String name) |
static java.lang.String |
getQuotedStringAt(java.lang.String line,
int ipt0) |
static java.lang.String |
getQuotedStringNext(java.lang.String line,
int[] next) |
static java.lang.String[] |
getTokens(java.lang.String line) |
static java.lang.String[] |
getTokensAt(java.lang.String line,
int ich) |
static boolean |
isOneOf(java.lang.String key,
java.lang.String semiList) |
private static boolean |
isWhiteSpace(java.lang.String str,
int ich) |
static int[] |
markLines(java.lang.String data,
char eol) |
static float[] |
parseFloatArray(java.lang.String str) |
static float[][] |
parseFloatArray2d(java.lang.String str) |
static float[][][] |
parseFloatArray3d(java.lang.String str) |
static int |
parseFloatArrayBsData(java.lang.String[] tokens,
BS bs,
float[] data) |
static void |
parseFloatArrayData(java.lang.String[] tokens,
float[] data)
parses a string array for floats.
|
static void |
parseFloatArrayDataN(java.lang.String[] tokens,
float[] data,
int nData)
parses a string array for floats.
|
static float[] |
parseFloatArrayFromMatchAndField(java.lang.String str,
BS bs,
int fieldMatch,
int fieldMatchColumnCount,
int[] matchData,
int field,
int fieldColumnCount,
float[] data,
int firstLine)
the major lifter here.
|
static float[] |
parseFloatArrayNext(java.lang.String str,
int[] next,
float[] f,
java.lang.String strStart,
java.lang.String strEnd) |
private static float |
parseFloatChecked(java.lang.String str,
int ichMax,
int[] next,
boolean isStrict)
A float parser that is 30% faster than Float.parseFloat(x) and also accepts
x.yD+-n
|
static float |
parseFloatNext(java.lang.String str,
int[] next) |
static float |
parseFloatRange(java.lang.String str,
int ichMax,
int[] next) |
static float |
parseFloatStr(java.lang.String str) |
static float |
parseFloatStrict(java.lang.String str) |
static int |
parseInt(java.lang.String str) |
private static int |
parseIntChecked(java.lang.String str,
int ichMax,
int[] next) |
static int |
parseIntNext(java.lang.String str,
int[] next) |
static int |
parseIntRadix(java.lang.String s,
int i) |
static int |
parseIntRange(java.lang.String str,
int ichMax,
int[] next) |
static int |
parseStringInfestedFloatArray(java.lang.String str,
BS bs,
float[] data)
parses a "dirty" string for floats.
|
static java.lang.String |
parseToken(java.lang.String str) |
private static java.lang.String |
parseTokenChecked(java.lang.String str,
int ichMax,
int[] next) |
static java.lang.String |
parseTokenNext(java.lang.String str,
int[] next) |
static java.lang.String |
parseTokenRange(java.lang.String str,
int ichMax,
int[] next) |
static java.lang.String |
parseTrimmed(java.lang.String str) |
static java.lang.String |
parseTrimmedAt(java.lang.String str,
int ichStart) |
private static java.lang.String |
parseTrimmedChecked(java.lang.String str,
int ich,
int ichMax) |
static java.lang.String |
parseTrimmedRange(java.lang.String str,
int ichStart,
int ichMax) |
static void |
setSelectedFloats(float f,
BS bs,
float[] data) |
public static final float FLOAT_MIN_SAFE
private static final float[] decimalScale
private static final float[] tensScale
public static int parseStringInfestedFloatArray(java.lang.String str, BS bs, float[] data)
str
- the string to parsebs
- the atom positions to assigndata
- the (sparce) array to fillpublic static float[] parseFloatArray(java.lang.String str)
public static float[] parseFloatArrayNext(java.lang.String str, int[] next, float[] f, java.lang.String strStart, java.lang.String strEnd)
str
- next
- f
- strStart
- or nullstrEnd
- or nullpublic static int parseFloatArrayBsData(java.lang.String[] tokens, BS bs, float[] data)
private static java.lang.String fixDataString(java.lang.String str)
public static float[][] parseFloatArray2d(java.lang.String str)
public static float[][][] parseFloatArray3d(java.lang.String str)
public static void setSelectedFloats(float f, BS bs, float[] data)
f
- bs
- data
- public static float[] extractData(java.lang.String data, int field, int nBytes, int firstLine)
public static float[] parseFloatArrayFromMatchAndField(java.lang.String str, BS bs, int fieldMatch, int fieldMatchColumnCount, int[] matchData, int field, int fieldColumnCount, float[] data, int firstLine)
str
- string containing the databs
- selects specific rows of the datafieldMatch
- a free-format field pointer, or a column pointerfieldMatchColumnCount
- specifies a column count -- not free-formatmatchData
- an array of data to match (atom numbers)field
- a free-format field pointer, or a column pointerfieldColumnCount
- specifies a column count -- not free-formatdata
- float array to modify or null if size unknownfirstLine
- first line to parse (1 indicates all)public static void parseFloatArrayData(java.lang.String[] tokens, float[] data)
tokens
- the strings to parsedata
- the array to fillpublic static void parseFloatArrayDataN(java.lang.String[] tokens, float[] data, int nData)
tokens
- the strings to parsedata
- the array to fillnData
- the number of elementspublic static float parseFloatStr(java.lang.String str)
public static float parseFloatStrict(java.lang.String str)
public static int parseInt(java.lang.String str)
public static java.lang.String[] getTokens(java.lang.String line)
public static java.lang.String parseToken(java.lang.String str)
public static java.lang.String parseTrimmed(java.lang.String str)
public static java.lang.String parseTrimmedAt(java.lang.String str, int ichStart)
public static java.lang.String parseTrimmedRange(java.lang.String str, int ichStart, int ichMax)
public static int[] markLines(java.lang.String data, char eol)
public static float parseFloatNext(java.lang.String str, int[] next)
public static float parseFloatRange(java.lang.String str, int ichMax, int[] next)
private static float parseFloatChecked(java.lang.String str, int ichMax, int[] next, boolean isStrict)
str
- ichMax
- next
- pointer; incrementedisStrict
- private static boolean checkTrailingText(java.lang.String str, int ich, int ichMax)
public static int parseIntNext(java.lang.String str, int[] next)
public static int parseIntRange(java.lang.String str, int ichMax, int[] next)
private static int parseIntChecked(java.lang.String str, int ichMax, int[] next)
public static java.lang.String[] getTokensAt(java.lang.String line, int ich)
private static int countTokens(java.lang.String line, int ich)
public static java.lang.String parseTokenNext(java.lang.String str, int[] next)
public static java.lang.String parseTokenRange(java.lang.String str, int ichMax, int[] next)
private static java.lang.String parseTokenChecked(java.lang.String str, int ichMax, int[] next)
private static java.lang.String parseTrimmedChecked(java.lang.String str, int ich, int ichMax)
public static java.lang.String concatTokens(java.lang.String[] tokens, int iFirst, int iEnd)
public static java.lang.String getQuotedStringAt(java.lang.String line, int ipt0)
public static java.lang.String getQuotedStringNext(java.lang.String line, int[] next)
private static boolean isWhiteSpace(java.lang.String str, int ich)
public static boolean isOneOf(java.lang.String key, java.lang.String semiList)
public static java.lang.String getQuotedAttribute(java.lang.String info, java.lang.String name)
public static int parseIntRadix(java.lang.String s, int i) throws java.lang.NumberFormatException
java.lang.NumberFormatException
public static float approx(float f, float n)
public static double dVal(java.lang.String s) throws java.lang.NumberFormatException
java.lang.NumberFormatException
public static float fVal(java.lang.String s) throws java.lang.NumberFormatException
java.lang.NumberFormatException