Giter VIP home page Giter VIP logo

fastbit's Introduction

*** COMPILING ON WINDOWS ***
As of 2014, FastBit source code starts to make use of some C++11x
features that are not supported yet in MS Visual Studio, therefore,
there is no way to compile with Visual Studio until C++0x is
supported.  However, it is possible to compile with CYGWIN.
****************************



This directory contains the current version of FastBit (code named
IBIS).  Please report any problem you've encountered in using this
package to <[email protected]>.

Please feel free to post any success story or paper you wrote that makes
use of FastBit in some way.  Your success stories will be encouragement
for the developers and users.


This software is packaged with GNU build tools.  On systems that
support such tools, you should be able to build it by running the
following two commands in this directory

./configure
make

Due to the uses of a number of C++11 features, such as, unique_ptr and
unordered_map, the current version of the source code requires GCC 4.8
or clang 3.5 to compile.  If your C++ compiler supports C++11, please
give it a try and let us know.

Further information about installation is available in file INSTALL in
this directory.  For installation on a MS Windows system using Visual
Studio, follow instructions in win/README.

To check the correctness of the build, run the following command

make check

Read the file README in tests directory to find out more about the tests.

The main body of the source code is located in directory src.  The code
is built into a single library named libfastbit.la on systems with
libtools.

Some examples of using the library are located in the directory examples.
The following is a brief description of the four examples.

-- ibis.cpp exercises much of the functions of the lower level indexing
   functions.
-- tcapi.c is an example of using the C API querying defined in capi.h.
-- thula.cpp exercises the querying interface defined in class
   ibis::table.
-- ardea.cpp exercises the functions to extend a table (API defined in
   ibis::tablex).

The directory doc contains a number of HTML files that documents key
features of FastBit.  In particular, the file quickstart.html contains
brief instructions for basic tasks and should be useful starting for
those not familiar with FastBit already.

There is considerable amount of in-line documentation in the source
code; execute the following command to invoke doxygen and extract the
in-line documentation

make docs

The resulting documentation is in directory doc/html.
Alternatively, you may view the on-line version of the documents at
http://sdm.lbl.gov/fastbit/doc/.


The FastBit mailing list could be a valuable resource.  It is archived
on line at http://hpcrdm.lbl.gov/mailman/private/fastbit-users/.  If you have
question not answered in the documents or the mailing list, post your
questions to the FastBit mailing list.  You need to first join the
mailing list by visiting
https://hpcrdm.lbl.gov/mailman/listinfo/fastbit-users.

Before reporting a problem, it might be helpful to check whether the
problem still exist with the current source code.  A nightly snapshot of
the SVN repository for the code is available for download at
<https://codeforge.lbl.gov/snapshots.php?group_id=44>.  The snapshot is
built daily between 2 and 3 AM Pacific Time zone (USA).

fastbit's People

Contributors

gingi avatar john18 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fastbit's Issues

Grammar railroad diagram

Using some online tools like https://www.bottlecaps.de/rr/ui and https://www.bottlecaps.de/convert/ and joining all grammars and manually adding the tokens from the lexers we can have a nice navigable railroad diagram.

Copy and paste the EBNF shown bellow on https://www.bottlecaps.de/rr/ui on the tab Edit Grammar the click on the tab View Diagram to see/download a navigable railroad diagram.

/* converted on Fri Jan 20, 2023, 12:07 (UTC+01) by bison-to-w3c v0.62 which is Copyright (c) 2011-2022 by Gunther Rademacher <[email protected]> */

slist    ::= sterm+
sterm    ::= mathExpr ( ASOP? NOUNSTR )? ( ',' | END )
mathExpr ::= ( mathExpr ( ADDOP | MINUSOP | MULTOP | DIVOP | REMOP | EXPOP | BITANDOP | BITOROP ) | MINUSOP | ADDOP ) mathExpr
           | NOUNSTR ( '(' ( MULTOP | mathExpr ( ',' mathExpr )? ) ')' )?
           | ( ( FORMAT_UNIXTIME_GMT | FORMAT_UNIXTIME_LOCAL ) '(' mathExpr ',' ( NOUNSTR | STRLIT ) | '(' mathExpr ) ')'
           | STRLIT
           | NUMBER

/* converted on Fri Jan 20, 2023, 12:08 (UTC+01) by bison-to-w3c v0.62 which is Copyright (c) 2011-2022 by Gunther Rademacher <[email protected]> */

flist    ::= fterm+
fterm    ::= NOUNSTR ( ',' | ( JOINOP NOUNSTR ( ( ASOP NOUNSTR )? ( ONOP compRange | USINGOP ( NOUNSTR | '(' NOUNSTR ')' ) )? | NOUNSTR ( USINGOP ( NOUNSTR | '(' NOUNSTR ')' ) | ONOP compRange ) ) )? END | NOUNSTR ( ',' | ( JOINOP NOUNSTR NOUNSTR? ( USINGOP ( NOUNSTR | '(' NOUNSTR ')' ) | ONOP compRange ) )? END ) | ASOP NOUNSTR ( ',' | ( JOINOP NOUNSTR ( ASOP NOUNSTR )? ( ONOP compRange | USINGOP ( NOUNSTR | '(' NOUNSTR ')' ) )? )? END ) )
compRange
         ::= compRange2
           | compRange3
compRange2
         ::= mathExpr ( EQOP | NEQOP | LTOP | LEOP | GTOP | GEOP ) mathExpr
compRange3
         ::= mathExpr ( ( LTOP | LEOP ) mathExpr ( LTOP | LEOP ) | ( GTOP | GEOP ) mathExpr ( GTOP | GEOP ) | BETWEENOP mathExpr ANDOP ) mathExpr
mathExpr ::= ( mathExpr ( ADDOP | MINUSOP | MULTOP | DIVOP | REMOP | EXPOP | BITANDOP | BITOROP ) | MINUSOP | ADDOP ) mathExpr
           | NOUNSTR ( '(' mathExpr ( ',' mathExpr )? ')' )?
           | '(' mathExpr ')'
           | NUMBER

/* converted on Fri Jan 20, 2023, 12:09 (UTC+01) by bison-to-w3c v0.62 which is Copyright (c) 2011-2022 by Gunther Rademacher <[email protected]> */

qexpr    ::= ( qexpr ( OROP | XOROP | ANDOP | ANDNOTOP ) | NOTOP ) qexpr
           | '(' qexpr ')'
           | simpleRange
           | compRange2
           | compRange3
simpleRange
         ::= EXISTSOP ( NOUNSTR | STRLIT | '(' ( NOUNSTR | STRLIT ) ')' )
           | NOUNSTR ( INOP ( NUMSEQ | '(' ( NUMBER ( ',' NUMBER )? | ( NOUNSTR | STRLIT ) ( ',' ( NOUNSTR | STRLIT ) )? ) ')' | STRSEQ | INTSEQ | UINTSEQ ) | NOTOP ( NULLOP | INOP ( NUMSEQ | '(' ( NUMBER ( ',' NUMBER )? | ( NOUNSTR | STRLIT ) ( ',' ( NOUNSTR | STRLIT ) )? ) ')' | STRSEQ | INTSEQ | UINTSEQ ) ) | LIKEOP ( NOUNSTR | STRLIT ) | CONTAINSOP ( NOUNSTR | STRLIT | '(' ( NOUNSTR | STRLIT ) ( ',' ( STRLIT | NOUNSTR ) )? ')' | STRSEQ ) | ( EQOP | NEQOP ) ( INT64 | UINT64 | STRLIT | mathExpr ) )
           | ANYOP '(' NOUNSTR ')' ( EQOP NUMBER | INOP NUMSEQ )
           | STRLIT ( EQOP | NEQOP ) NOUNSTR
compRange2
         ::= mathExpr ( EQOP | NEQOP | LTOP | LEOP | GTOP | GEOP ) mathExpr
compRange3
         ::= mathExpr ( ( LTOP | LEOP ) mathExpr ( LTOP | LEOP ) | ( GTOP | GEOP ) mathExpr ( GTOP | GEOP ) | BETWEENOP mathExpr ANDOP ) mathExpr
mathExpr ::= ( mathExpr ( ADDOP | MINUSOP | MULTOP | DIVOP | REMOP | EXPOP | BITANDOP | BITOROP ) | MINUSOP | ADDOP ) mathExpr
           | NOUNSTR ( '(' mathExpr ( ',' mathExpr )? ')' )?
           | ( ( ( FROM_UNIXTIME_LOCAL | FROM_UNIXTIME_GMT ) '(' mathExpr | ( TO_UNIXTIME_LOCAL | TO_UNIXTIME_GMT ) '(' STRLIT ) ',' STRLIT | ( ISO_TO_UNIXTIME_LOCAL | ISO_TO_UNIXTIME_GMT )? '(' mathExpr ) ')'
           | NUMBER
START    ::= qexpr ( END | ';' )

// Tokens

BITOROP ::= "|"
BITANDOP ::= "&"
MINUSOP ::= "-"
EXPOP ::= "^"
ADDOP ::= "+"
MULTOP ::= "*"
DIVOP ::= "/"
REMOP ::= "%"
EXPOP ::= "**"
ASOP ::= [aA][sS]
ONOP ::= [oO][nN]
JOINOP::= [jJ][oO][iI][nN]
USINGOP ::= [uU][sS][iI][nN][gG]
BETWEENOP ::= [bB][eE][tT][wW][eE][eE][nN]
ANDOP ::= [aA][nN][dD]

FORMAT_UNIXTIME_GMT ::= [fF][oO][rR][mM][aA][tT]_[uU][nN][iI][xX][tT][iI][mM][eE]_[gG][mM][tT]
FORMAT_UNIXTIME_LOCAL ::= [fF][oO][rR][mM][aA][tT]_[uU][nN][iI][xX][tT][iI][mM][eE]_[lL][oO][cC][aA][lL]
FORMAT_UNIXTIME_LOCAL ::= [fF][oO][rR][mM][aA][tT]_[uU][nN][iI][xX][tT][iI][mM][eE]

NOTOP ::= "!"
NOTOP ::= "~"
LEOP ::= "<="
NEQOP ::= "!="
NEQOP ::= "<>"
LTOP ::= "<"
GEOP ::= ">="
GTOP ::= ">"
EQOP ::= "="
EQOP ::= "=="
OROP ::= "||"
ANDOP ::= "&&"
ANDNOTOP ::= "&!"
ANDNOTOP ::= "&~"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.