75 - 90 min
Structuring data, and deciding how to organize and store data in non-arbitrary ways is one way to create performant programs. When data is efficiently structured, then data manipulation can be optimized. With that in mind, it’s important to take note of the fact that no single data structure is a one-size fits all solution, therefore, it is necessary to know the strengths and limitations of several data structures. Data Structures can be grouped into two camps: Linear and Non-Linear.
Linear data structures arrange values in a linear form, and some commonly used linear data structures include Arrays: great for storing a list of a fixed length, Linked-list: great for storing a number of data items that can easily change size to add or remove items, Stacks: Add to top and remove from the top (last in, first out data traversal), Queues: Add to the back and remove from the front, (first in first out data storage/traversal), and Priority queues: add anywhere, and remove the highest priority (array that searches for the lowest cost contained and appends it to the end).
Non-linear data structures imply that data values are not arranged in order. Some structures include hash tables: unordered lists which use a hash function to insert and search (used to implement key, value, dictionary-like interfaces), Trees: data is organized in branches (data structure consisting of one or more data nodes, an XML document with a root node is a good example), Binary Trees (great for storing records that can be accessed in a key, value pair), Graphs: a general branching structure with less strict conditions than a tree. Some other data structures include record, union, tagged union, class, graphs, and binary trees.
Data Structure forms the major part of IT companies. Many top companies like Microsoft and Google hire on the basis of coding skills that mainly includes data structure.
Example of people getting hired having data structure knowledge:
Apprentices will be able to:
Data Structures & Algorithms Slideshow
Data structures and data types are not the same.
Using a timer, pair up for 5 minutes and quiz each other while reviewing the differences between data types and data structures. After that, switch partners and discuss the ways each featured data structure works for 10 minutes.


$def with (submissions) $:{TITLE("Recently Popular")} $ _GRID_ITEM = COMPILE("common/thumbnail_grid_item.html") $code: def _RATED(x): return ' checked' if x in meta['rated'] else '' def _WITHIN(x): return ' selected' if meta['within'] == x else ''


An example showing how to add labels from polygon centroids using and then using
map.addXYLayer with
d3.carto.map.
Click on a country to zoom to that country. The labels of countries are placed at their computed center (from d3.geo.centroid). The font-size is scaled to match the scale of the zoom (inspect the DOM and look at the scaled font-size of the text elements).


This is a paragraph Donec sed odio dui. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla. Donec id elit non mi porta gravida at eget metus. Donec id elit non mi porta gravida at eget metus.
A decentralized exchange application for the Blocknet blockchain protocol.
The Blocknet client asked us to create a UI for their decentralized exchange. At the time, users could only access the product through the terminal. Our lean team quickly jumped into learning the ins and outs of trading cryptocurrency, identified ideal features for a great user experience, put together a unique look and feel, and built the front end for the exchange in 3 months. Since Blocknet is run by a decentralized community, our final presentation was a bit unconventional—We presented our final UI to the community on Youtube Live for final approval and received incredible responses (below).
Before we jumped into design or UX, we performed a competitive audit of 12+ exchanges to familiarize ourselves with all the possible features and get a feel for some of the patterns that users expect in an exchange in this space. We then outlined our point of view on the best solutions for the 9 main features that we thought the DX should include.


About Us
ONEWEBE which is a part of a Dutch company; ZERO, is build by high school students and established to create and publish new and creative apps. Apps with capability of making the Visions you have about the future Visible.
We want to build apps and products that will change the way we live in a positive way. We want to start with the music Industry at first. In this industry we think that we can make a lot of improvement in how we use and listen to music. After this we want to expand our company into a innovative business, that also helps the ones who needs help


I love @robinsloan’s take on the game Fortnite & taking a chance on cooperation in a zero-sum space.
Reminds me of Cory Doctorow’s “Weaponized Narrative”: a gesture of cooperation opens a counternarrative to the battle royale.


Digital Development Glossary: Flashcard Game
ICTWorks recently published a glossary of terms at the intesection of international development and technology.
Do you know your development acronyms?


--- layout: post title: European RailsConf Talk Proposal Deadline Approaching categories: - sightings author: chad published: true date: 2006-07-18 23:11:00.000000000 +01:00 ---
For the procrastinators out there, don’t forget that the talk proposal deadline for the European RailsConf is coming this Friday, July 21.
If you missed RailsConf, this is your chance to not only attend but to speak at the first ever European Rails Conference.


{% extends "layout.html" %} {% block page %}
{{ response }}
Password must be at least 6 characters in length.


NHS Programming Club
The NHS Programming Club is a club that allows fellow programmers to meet and work together to fix problems within our community using computer science. In the club, each member will program a specific part of a main, focused project, chosen by other club members. The programs the club creates are designed to help the community in some way. For example, one of the projects could be a re-design for a teacher's website or a program that helps students accomplish a goal more easily. Whatever the problem is, each club member will program and collaborate together using GitHub. Together, we will make the school and our community a better place.
In addition, the club members will have the chance to discuss concepts in different programming languages. Each club member will have the chance to share their own side-projects and ask programming questions to other members.
The club's next meeting is: Tuesday, ???
If you have any questions or concerns, email the club president, Yuval Marcus


|
plibsys
0.0.4
|
File operations. More...
Go to the source code of this file.
Macros | |
| #define | P_DIR_SEPARATOR "/" |
| A directory separator. | |
Functions | |
| P_LIB_API pboolean | p_file_is_exists (const pchar *file) |
| Checks whether a file exists or not. More... | |
| P_LIB_API pboolean | p_file_remove (const pchar *file, PError **error) |
| Removes a file from the disk. More... | |
File operations.
To check file existance use p_file_is_exists(). To remove an exisiting file use p_file_remove().
P_DIR_SEPARATOR provides a platform independent directory separator symbol which you can use to form file or directory path.
Definition in file pfile.h.
Checks whether a file exists or not.
| file | File name to check. |
On Windows this call doesn't resolve symbolic links, while on UNIX systems does.
Removes a file from the disk.
| file | File name to remove. | |
| [out] | error | Error report object, NULL to ignore. |
This call doesn't resolve symbolic links and remove a symbolic link if the given path points to it.


StackStarter.io/spin
Spin Code: CODE2ART
An exploration of expressing with code.
Introduce us to the meduim.
Introduce core basic programming concepts.
Walk away with instilled confidence to explore and learn more!
StackStarter.io/spin
Some fundamentals
Variables
Functions
Loops
Conditionals
Arrays
Objects
Some inspiration...
Thank you!
Slides Available:
http://nickgs.com/code2art-talk
Twitter: @direct


Rapidly Exploring Random Tree¶
Construction of the Rapidely Exploring Random Tree
-
class
rrt.
Edge
(node_from, node_to, path, cost)[source]¶ Edge of the rapidly exploring random tree.
Attributes: - node_from : tuple
Id of the starting node of the edge.
- node_to : tuple
Id of the end node of the edge.
- path : list
The successive positions yielded by the local planner representing the path between the nodes.
- cost : float
Cost associated to the transition between the two nodes.
-
class
rrt.
Node
(position, time, cost)[source]¶ Node of the rapidly exploring random tree.
Attributes: - destination_list : list
The reachable nodes from the current one.
- position : tuple
The position of the node.
- time : float
The instant at which this node is reached.
- cost : float
The cost needed to reach this node.
-
class
rrt.
RRT
(environment, precision=(5, 5, 1))[source]¶ Class implementing a Rapidely Exploring Random Tree in two dimensions using dubins paths as an expansion method. The state space considered here is straightforward, as every state can be represented by a simple tuple made of three continuous variables: (x, y, psi)
Attributes: - nodes : dict
Dictionnary containing all the nodes of the tree. The keys are hence simply the reached state, i.e. tuples of the form (x, y, psi).
- environment : Environment
Instance of the Environment class.
- goal_rate : float
The frequency at which the randomly selected node is choosen among the goal zone.
- precision : tuple
The precision needed to stop the algorithm. In the form (delta_x, delta_y, delta_psi).
- goal : tuple
The position of the goal (the center of the goal zone), in the form of a tuple (x, y, psi).
- root : tuple
The position of the root of the tree, (the initial position of the vehicle), in the form of a tuple (x, y, psi).
- local_planner : Planner
The planner used for the expansion of the tree, here it is a Dubins path planner.
Methods
in_goal_region
(sample)Method to determine if a point is within a goal region or not. run
(goal[, nb_iteration, goal_rate, metric])Executes the algorithm with an empty graph, initialized with the start position at least. select_options
(sample, nb_options[, metric])Chooses the best nodes for the expansion of the tree, and returns them in a list ordered by increasing cost. plot_tree Displays the RRT using matplotlib. -
children_count
(node)[source]¶ Not optimal at all as it recounts a lot of the tree every time a path needs to b selected.
-
in_goal_region
(sample)[source]¶ Method to determine if a point is within a goal region or not.
Parameters: - sample : tuple
(x, y, psi) the position of the point which needs to be tested.
-
plot
(file_name='', close=False, nodes=False)[source]¶ Displays the tree using matplotlib, on a currently open figure.
Parameters: - file_name : string
The name of the file used to save an image of the tree.
- close : bool
If the plot needs to be automaticaly closed after the drawing.
- nodes : bool
If the nodes need to be displayed as well.
-
run
(goal, nb_iteration=100, goal_rate=0.1, metric='local')[source]¶ Executes the algorithm with an empty graph, initialized with the start position at least.
Parameters: - goal : tuple
The final requested position (x, y, psi).
- nb_iteration : int
The number of maximal iterations (not using the number of nodes as potentialy the start is in a region of unavoidable collision).
- goal_rate : float
The probability to expand towards the goal rather than towards a randomly selected sample.
- metric : string
One of ‘local’ or ‘euclidian’. The method used to select the closest node on the tree from which a path will be grown towards a sample.
Notes
It is not necessary to use several nodes to try and connect a sample to the existing graph; The closest node only could be choosen. The notion of “closest” can also be simpy the euclidian distance, which would make the computation faster and the code a simpler, this is why several metrics are available.
-
select_best_edge
()[source]¶ Selects the best edge of the tree among the ones leaving from the root. Uses the number of children to determine the best option.
Returns: - edge :Edge
The best edge.
-
select_options
(sample, nb_options, metric='local')[source]¶ Chooses the best nodes for the expansion of the tree, and returns them in a list ordered by increasing cost.
Parameters: - sample : tuple
The (x, y, psi) coordinates of the node we wish to connect to the tree.
- nb_options : int
The number of options requested.
- metric : str
One of ‘local’, ‘euclidian’. The euclidian metric is a lot faster but is also less precise and can’t be used with an RRT star.
Returns: - options : list
Sorted list of the options, by increasing cost.


EVIL DEAD II A film review by Mark R. Leeper Copyright 1987 Mark R. Leeper
Capsule review: There's more budget than logic to this stringing together of off-beat and semi-humorous horror scenes. Creative visual concepts abound and the pace is frenetic and that makes up for a multitude of sins.
I guess in some sense THE EVIL DEAD II is the ultimate horror film...sort of...I guess. Well, what can I say? It does not have much of a plot. It has very little acting, no stars, little continuity, and no logic. But it has action, horror, and black humor in massive doses. Now, THE EVIL DEAD II did have some plot. It was not it's strong suit but it was there. What THE EVIL DEAD boasted most was wit. An attacking corpse would be thrown into the fire. Then some living person would have a bout of remorse and pull it out of the fire. The corpse would look up and politely thank its benefactor for pulling it out of the fire, then continues to try and kill the living. I guess there is some wit in a scene like that and some willingness to experiment with the horror medium. The sequel is one strange semi-horror scene after another.
The plot is that some professor of some sort has translated the Necronomicon (of H. P. Lovecraft fame). He recorded an incantation on tape and now whenever anyone plays the tape it's Anything-Can-Happen-Day. A young couple find the cabin and think it might be an ideal trysting place. Most of one of them is left the next night when the professor's daughter shows up with a friend and two rather strange locals. By that point we have already seen a beheaded corpse climb out of the ground and do a charming dance with its head. We've seen a lot more than that, but that would be telling. And we will see a whole lot more, but that, too, would be telling.
The actors of this piece were, I think, chosen for the terrorized looks they could get on their faces and for how ghoulish they could make themselves look. The script is incredibly contrived, including such touches as having a bridge that would have cost in the millions that leads to nowhere but a shack in the woods. I didn't think boondoggles got that big. For those who like gore and creative off-beat horror, this one's for you. As a fan of the latter, though not of the former particularly, I will give this a +1 on the -4 to +4 scale. If you like the bizarre, give it a try.
Mark R. Leeper ihnp4!mtgzz!leeper<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Fast Services
We try to show no slack at all with our services.
Full Protection
By default, all servers are equipped with automatic DDoS attack mitigation in the event of an attack (reactive mitigation). You also have access to permanent mitigation (permanent rules) as well as Network Firewall configuration.
Customizable Server
Customize your server before purchase! If you have a higher plan, you will be able to use your panel to customize your server! If you have a lower plan, your server will be managed by the "Cover6" staff members!
From 2016 - present Cover6 has served many. We have seen them come and go. Giving people the opportunity and the chance to actually get to know other people is what we're all about. We're the brand of hospitality. We're run by an elite group of members who work hard when they can, to get things in order. NO task is a hard task. We've had a long history already, and we're ready for more! Join our open gaming community!


--- title: Contact us layout: general ---
You can contact us by emailing us at<EMAIL_ADDRESS>Alternatively, you can send us a message on our Facebook page.
If you have a question or feedback regarding a specific team or project within our club, you can look through our list of team leads and try directly sending an email to the appropriate person.


Build and host your site for free
Welcome to developer’s notes blog.
I build this blog to share my learnings and solution to challenges I face while coding.
While learning/exploring something new or looking for solutions to the problems I faced, I used to copy paste notes(learnings) in random notepad or MS Word files. Managing these files was a challenge as searching thorough the content was tough. It needed synchronisation when I started working with multiple sysytems (was using google drive).
After learning about Markdown, I started creating these notes in a mardown file.
Later, I decided to create blog from these notes so that others can also get some benefit out of it.
I had to choose a static site generator for building posts quickly and to figure out what is the best fit for me I went to StaticGen, Snipcart, CreativeBloq and few more sites.
In order to create blogs from markdown files I chose Hexo as it didn’t required me to install anything else apart from a npm package ‘hexo-cli’, as I already have prerequisite node.js installed in my system.
I could have easily went out for other powerful tools out there but I was too lazy to install something and as it required some setup prior actual work.
Although some of them requires special mentions like:
- Jekyll(GitHubPages), Hugo for blogging,
- Gitbook, VuePress for documentation
- Gatsby, Nuxt for e-commerce websites.
I request you try out the one which suits you the most and do share your experience with us.
The following content is what I have used to generate my blogs, and for reference one might check github repo
Now let’s start with actual work:
Do refer Hexo docs
First, install hexo-cli:
1 | npm install -g hexo-cli |
Go to your project folder or create one:
1 | mkdir devnotes |
Inside that directory, initialize your website:
1 | hexo init |
Go through config.yml and update it as per your needs.
Create a new post in your website created in previous step:
1 | $ hexo new "Intro" |
Enter the content in markdown.
Refer: Writing
Run your server:
1 | $ hexo server |
For more details, go to: Server
If you are facing any issues then try debugging:
1 | hexo --debug |
Generate static files
1 | $ hexo generate |
For more details, refer: Generating
Deploy to remote sites
1 | $ hexo deploy |
For more details, refer: [Deployment](https://hexo.io/docs/deployment.html
As I am using github as source control, I could have hosted this website on Gihub pages but I wanted to explore Netlify
I created a website in Netlify and did following configuration:
- Set the repository URL.
- Set build command as
hexo deploy --generate
- Set the publish directory, ex: public.
- Set your branch, in my case it was ‘master’
Oh yeah, your site is up and running with continous deployment!
Basic Tip: You might want to work on a different branch and then create a pull request for merging changes into master beanch.
As soon as your pull request is approved and merged, you website/blog will be automatically updated.
Note: I go through web articles, videos and books; those learnings are posted in these blogs and If I forget to mention the author, please do let me know and I will update.
Also, I would really appreciate suggestions for improvements, Thanks.


The OpenNeuro PET is a project built around OpenNeuro and BIDS. It aims primarily at developing data sharing openly (CC0) or securely (DUA-GDPR) with a united front-end and user friendly tools for the BIDS based data curation of PET data. Our secondary objective is to develop tools for automated QC and template building. OpenNeuroPET is a collaboration between Stanford university, NIH, MGH and the Neurobiology Research Unit (NRU) at Copenhagen University Hospital. It is funded through the BRAIN initiative and the Novo Nordisk foundation.
All PET data are findable and accessible via the OpenNeuro portal
Use our BIDS converter to prepare your data. The BIDS validator will highlight remaining issues.
Shared data can be analyzed on our computational platform using predefined pipelines or uploading your own container [work in progress].
It won't be the annoying weekly/monthy emails that cluster your email box. When important things happen (e.g. major update, new tool, workshop) we'll let you know.


| KSEC1 element | Contents | GRIB octet | Recommended GRIB_API keys | Coded GRIB_API keys | Comments |
|---|---|---|---|---|---|
| 37 |
ECMWF local GRIB use definition identifier. |
41 | localDefinitionNumber | localDefinitionNumber | |
| 38 | Class | 42 | class | marsClass | |
| 39 | Type | 43 | type |
marsType | |
| 40 | Stream | 44-45 | stream |
marsStream | |
| 41 |
Version number or experiment identifier. |
46-49 | expver |
experimentVersionNumber | |
| 42 | Ensemble member number |
50-51, if stream = 1090 |
number |
perturbationNumber |
|
| 43 | Zero | 51, unless stream = 1090 | |||
| - | 1 (a flag showing a post-auxiliary array is in use) | 52 | flagShowingPostAuxiliaryArrayInUse |
flagShowingPostAuxiliaryArrayInUse |
|
| 44 | System number | 53 | systemNumber |
systemNumber | |
| 45 | Method number | 54 | methodNumber |
methodNumber |
Used for storing ocean model data in GRIB code. A separate version of code table 2 is used for ocean data: ECMWF local Code Table 2, Version Number 150 or 151 for FM92-VIII.
All coordinates in this local use GRIB definition are given as 4-byte INTEGERs in the following units:
At several points in the definition, there may be a need for a variable amount of supplementary data. This is indicated with '(+info)', and in such cases a supplementary data block is specified at the end of the local use section.
The physical meaning of the (x,y,z,t) coordinate system is defined below.
| KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|---|
| 46 |
Space unit flag (applies only if lengths not otherwise labelled): |
55 | spaceUnitFlag |
spaceUnitFlag |
|
| 47 |
Vertical coordinate definition (z): |
56 | verticalCoordinateDefinition |
verticalCoordinateDefinition |
|
| 48 |
Horizontal coordinate definition (x,y): |
57 | horizontalCoordinateDefinition |
horizontalCoordinateDefinition |
|
| 49 |
Time unit flag: |
58 | timeUnitFlag |
timeUnitFlag |
|
| 50 |
Time coordinate definition (t): |
59 | timeCoordinateDefinition |
timeCoordinateDefinition |
A 2-dimensional field located in 4-dimensional space-time needs 2 coordinates to define where the field is located, and 2 coordinates internal to the field. The locating coordinates are specified first. Each coordinate is identified according to the following table, in this order where possible:
| KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|---|
| 51 |
Mixed coordinate field flag: |
60 | mixedCoordinateFieldFlag |
mixedCoordinateFieldFlag |
|
| 52 | Coordinate 1 flag (usually time). | 61 | coordinate1Flag |
coordinate1Flag |
|
| 53 |
Averaging flag: |
62 | averaging1Flag |
averaging1Flag |
|
| 54 | Position of level 1 | 63-66 | coordinate1Start |
coordinate1Start |
|
| 55 | Position of level 2 (or zero if not used) | 67-70 | coordinate1End |
coordinate1End |
|
| 56 | Coordinate 2 flag (usually z-coordinate). | 71 | coordinate2Flag |
coordinate2Flag |
|
| 57 |
Averaging flag: |
72 | averaging2Flag |
averaging2Flag |
|
| 58 | Position of level 1 | 73-76 | coordinate2Start |
coordinate2Start |
|
| 59 | Position of level 2 (or zero if not used) | 77-80 | coordinate2End |
coordinate2End |
| KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|---|
| 60 | Coordinate 3 flag (x-axis, usually longitude). | 81 | coordinate3Flag |
coordinate3Flag |
|
| 61 | Coordinate 4 flag (y-axis, usually latitude). | 82 | coordinate4Flag |
coordinate4Flag |
|
| 62 | Coordinate 4 of first grid point | 83-86 | coordinate4OfFirstGridPoint |
coordinate4OfFirstGridPoint |
|
| 63 | Coordinate 3 of first grid point | 87-90 | coordinate3OfFirstGridPoint |
coordinate3OfFirstGridPoint |
|
| 64 | Coordinate 4 of last grid point | 91-94 | coordinate4OfLastGridPoint |
coordinate4OfLastGridPoint |
|
| 65 | Coordinate 3 of last grid point | 95-98 | coordinate3OfLastGridPoint |
coordinate3OfLastGridPoint |
|
| 66 | i-increment | 99-102 | iIncrement |
iIncrement |
|
| 67 | j-increment | 103-106 | jIncrement |
jIncrement |
|
| 68 |
Flag for irregular grid coordinate list: |
107 | flagForIrregularGridCoordinateList |
flagForIrregularGridCoordinateList |
|
| 69 |
Flag for normal or staggered grid: |
108 | flagForNormalOrStaggeredGrid |
flagForNormalOrStaggeredGrid |
| KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|---|
| 70 |
Flag for any further information: |
109 | flagForAnyFurtherInformation |
flagForAnyFurtherInformation |
|
| 71 | Number of entries in the horizontal coordinate definition | 110 | numberInHorizontalCoordinates |
numberInHorizontalCoordinates |
|
| 72 | Number of entries in mixed coordinate definition | 111-112 | numberInMixedCoordinateDefinition |
numberInMixedCoordinateDefinition |
|
| 73 | Number of entries in the grid coordinate list | 113-114 | numberInTheGridCoordinateList |
numberInTheGridCoordinateList |
|
| 74 | Number of entries in the auxiliary array | 115-116 | numberInTheAuxiliaryArray |
numberInTheAuxiliaryArray |
The horizontal coordinate definition, the mixed coordinate definition, the grid coordinate list, the auxiliary array and the post-auxiliary-array values are stored in GRIB as 4-byte INTEGERs.
| KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|
| A1-nn | Horizontal coordinate supplement. Not yet defined. | horizontalCoordinateSupplement |
horizontalCoordinateSupplement |
"numberInHorizontalCoordinates"
elements |
| KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|
| B1 |
Flag for regularity of x-y coordinate mixing: |
mixedCoordinateDefinition |
mixedCoordinateDefinition |
"numberInMixedCoordinateDefinition"
elements |
| - | For regular, linear mixing. | |||
| B2 | Alpha *109 | |||
| B3 | X0 | |||
| B4 | Y0 | |||
| - | Irregular mixing with code given. | |||
| B2 | Locally defined codes to define section. | |||
| B3 | Locally defined codes to define section. | |||
| B4 | Locally defined codes to define section. |
| KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|
| C1-nn |
Coordinates of irregular x and y-axes. |
gridCoordinate |
gridCoordinate |
"numberInTheGridCoordinateList" values |
| KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|
| D1-nn | Auxiliary array values. | auxiliary |
auxiliary |
"numberInTheAuxiliaryArray"
values |
| KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
|---|---|---|---|---|
| E1 | Size of post-auxiliary array (number of entries, including E1) | sizeOfPostAuxiliaryArrayPlusOne |
sizeOfPostAuxiliaryArrayPlusOne |
|
| E2-E4 | Array values | postAuxiliary |
postAuxiliary |
"sizeOfPostAuxiliaryArrayPlusOne-
1" valies |
| E5-E7 | Used for hindcast support if E1 > 4 | |||
| E8 | Used if E1=8 | |||
| E5 | Reference date (YYYYMMDD) | |||
| E6 | Climate date - from (YYYYMMDD), or zero | |||
| E7 | Climate date - to (YYYYMMDD), or zero | |||
| E8 |
Ocean Atmosphere coupling: |
If the post-auxiliary array is not being used, E1 (the value in KSEC1 after the end of the previously defined part of KSEC1) must be explicitly set to zero when coding or else errors may result.
The indicator of type of level should be set to 160 (depth below sea level) for all oceanographic data. The depth in metres should be set to the appropriate value if the field is a horizontal section, and to zero in all other cases.
It is assumed that the grid description section of the GRIB code corresponds to a latitude/longitude grid, with correct values for the number of points along parallels/meridians, and the coordinates of the first and last data points are in millidegrees (or the appropriate units from this section, divided by 1000).
The coordinate increments should be given to the extent that the field is regular.


proBook
Add Type
Add Bookmark
View Bookmarks
View Types
Add Type
Create Type:
Must not contain any special characters
Submit


Locate by Floor:
Basement (Krasker)
1st
2nd (Music)
3rd
4th
5th (Archives)
6th (African Studies)
Services
African Studies Library
BU Common (Computer Lab)
CAS Writing Center
Circulation
Course Reserves
Dissertations/Theses Coordination
Microform Reading and Digitization
IS&T Help Center
Krasker Film/Video Services
Libraries Administration
Music Library
Research Center and Reference
Scan and Copy Center
Call Number
Call Number Ranges (Mugar Memorial)
A
AM
B
BF
C
D
E 1-199
E 199+
F
G
H
J
K
L
M
N
P 1- PR 2600
PR 2600+
Q
R
S
T
U
V
X
Z
Rooms & Spaces
203 - Classroom
205 - Classroom
302 - Estin Room
305 - Meeting Room
401 - Faculty Recording
424 - Classroom
503 - Classroom
Alcoves 1 and 2
Arthur Fiedler Reading Room
BU Common Computer Lab
Listening Room
PAL Study Lounge
Reserve Room
Archives & Exhibits
Howard Gotlieb Archival Research Center
African Studies Display Area
Arthur Fiedler Reading Room
Gotlieb Gallery
Martin Luther King, Jr. Reading Room
Richards-Frost Room
Richards-Theodore Roosevelt Room
Floorplan


About me
Hey everyone! I'm Aram, an Undergraduate Student Instructor for CS 61B and Computer Science student at UC Berkeley. I am currently looking for a Summer 2021 internship. You can find my teaching resources at the Data Structures tab as well as an older project I had done. My résumé and email are given at the bottom of the page.
Contact
If you have any questions or want to get in touch feel free to email me with address provided. I have also attached my résumé below:
-<EMAIL_ADDRESS>- My Résumé


I was born with a copper spoon in my mouth. People often called me precocious. I spent my childhood in an academic atmosphere and that helped me in becoming a physics wizard. I contributed my bit in the feild of physics. In my late teens, with my newly married wife, I worked as a financial bureaucrat and was living a double life. Who am I?


About game
Rock Buster is a space shooter game developed by myself in my extra free time during the pandemic.
Gameplay
You're an operator of Russian spacecraft in earth orbit. Your peaceful life was disturbed by news from earth about approaching asteroid rain. Although you're not supposed to survive, your great leader promised that money will be given to your family if you destroy some of those asteroids. The more asteroids you will destroy the more money your family is going to get. Let's see how much you can do...
Control
- A - move left
- D - move right
- Space - shoot
- Escape - pause game


With San Diego's gorgeous weather, there's no need to stay indoors.
Fierce
is a website designed to help you create your own outdoor adventure.
Username:
Password:
Not registered?
Sign up
.
Close.
login
Discover
Quickstart
Distance >>
Price >>
Intensity >>
Size >>
Duration >>
Get Results
How far are you willing to travel?
5 mi.
10 mi.
25 mi.
50 mi.


Module io
Reading and Writing Files.
Functions
| close (file) | Equivalent to `file:close()`. |
| flush () | Equivalent to `file:flush` over the default output file. |
| input (file) | When called with a file name, it opens the named file (in text mode), and sets its handle as the default input file. |
| lines (filename) | Opens the given file name in read mode and returns an iterator function that, each time it is called, returns a new line from the file. |
| open (filename, mode) | This function opens a file, in the mode specified in the string `mode`. |
| output (file) | Similar to `io.input`, but operates over the default output file. |
| popen (prog, mode) | Starts program `prog` in a separated process and returns a file handle that you can use to read data from this program (if `mode` is `"r"`, the default) or to write data to this program (if `mode` is `"w"`). |
| read (...) | Equivalent to `io.input():read`. |
| tmpfile () | Returns a handle for a temporary file. |
| type (obj) | Checks whether `obj` is a valid file handle. |
| write (...) | Equivalent to `io.output():write`. |
| file:close () | Closes `file`. |
| file:flush () | Saves any written data to `file`. |
| file:lines () | Returns an iterator function that, each time it is called, returns a new line from the file. |
| file:read (...) | Reads the file `file`, according to the given formats, which specify what to read. |
| file:seek (whence, offset) | Sets and gets the file position, measured from the beginning of the file, to the position given by `offset` plus a base specified by the string `whence`, as follows: "set": base is position 0 (beginning of the file); "cur": base is current position; "end": base is end of file; In case of success, function `seek` returns the final file position, measured in bytes from the beginning of the file. |
| file:setvbuf (mode, size) | Sets the buffering mode for an output file. |
| file:write (...) | Writes the value of each of its arguments to the `file`. |
Functions
- close (file)
-
Equivalent to `file:close()`. Without a `file`, closes the default
output file.
Parameters:
- file
- flush ()
- Equivalent to `file:flush` over the default output file.
- input (file)
-
When called with a file name, it opens the named file (in text mode),
and sets its handle as the default input file. When called with a file
handle, it simply sets this file handle as the default input file. When
called without parameters, it returns the current default input file.
In case of errors this function raises the error, instead of returning an
error code.
Parameters:
- file
- lines (filename)
-
Opens the given file name in read mode and returns an iterator function
that, each time it is called, returns a new line from the file. Therefore,
the construction
for line in io.lines(filename) do *body* end
will iterate over all lines of the file. When the iterator function detects
the end of file, it returns nil (to finish the loop) and automatically
closes the file.
The call `io.lines()` (with no file name) is equivalent to
`io.input():lines()`; that is, it iterates over the lines of the default
input file. In this case it does not close the file when the loop ends.
Parameters:
- filename
- open (filename, mode)
-
This function opens a file, in the mode specified in the string `mode`. It
returns a new file handle, or, in case of errors, nil plus an error message.
The `mode` string can be any of the following:
"r": read mode (the default);
"w": write mode;
"a": append mode;
"r+": update mode, all previous data is preserved;
"w+": update mode, all previous data is erased;
"a+": append update mode, previous data is preserved, writing is only
allowed at the end of file.
The `mode` string can also have a '`b`' at the end, which is needed in
some systems to open the file in binary mode. This string is exactly what
is used in the standard C function `fopen`.
Parameters:
- filename
- mode
- output (file)
-
Similar to `io.input`, but operates over the default output file.
Parameters:
- file
- popen (prog, mode)
-
Starts program `prog` in a separated process and returns a file handle
that you can use to read data from this program (if `mode` is `"r"`,
the default) or to write data to this program (if `mode` is `"w"`).
This function is system dependent and is not available on all platforms.
Parameters:
- prog
- mode
- read (...)
-
Equivalent to `io.input():read`.
Parameters:
- ...
- tmpfile ()
- Returns a handle for a temporary file. This file is opened in update mode and it is automatically removed when the program ends.
- type (obj)
-
Checks whether `obj` is a valid file handle. Returns the string `"file"`
if `obj` is an open file handle, `"closed file"` if `obj` is a closed file
handle, or nil if `obj` is not a file handle.
Parameters:
- obj
- write (...)
-
Equivalent to `io.output():write`.
Parameters:
- ...
- file:close ()
- Closes `file`. Note that files are automatically closed when their handles are garbage collected, but that takes an unpredictable amount of time to happen.
- file:flush ()
- Saves any written data to `file`.
- file:lines ()
- Returns an iterator function that, each time it is called, returns a new line from the file. Therefore, the construction for line in file:lines() do *body* end will iterate over all lines of the file. (Unlike `io.lines`, this function does not close the file when the loop ends.)
- file:read (...)
-
Reads the file `file`, according to the given formats, which specify
what to read. For each format, the function returns a string (or a number)
with the characters read, or nil if it cannot read data with the specified
format. When called without formats, it uses a default format that reads
the entire next line (see below).
The available formats are
"*n": reads a number; this is the only format that returns a number
instead of a string.
"*a": reads the whole file, starting at the current position. On end of
file, it returns the empty string.
"*l": reads the next line (skipping the end of line), returning nil on
end of file. This is the default format.
*number*: reads a string with up to this number of characters, returning
nil on end of file. If number is zero, it reads nothing and returns an
empty string, or nil on end of file.
Parameters:
- ...
- file:seek (whence, offset)
-
Sets and gets the file position, measured from the beginning of the
file, to the position given by `offset` plus a base specified by the string
`whence`, as follows:
"set": base is position 0 (beginning of the file);
"cur": base is current position;
"end": base is end of file;
In case of success, function `seek` returns the final file position,
measured in bytes from the beginning of the file. If this function fails,
it returns nil, plus a string describing the error.
The default value for `whence` is `"cur"`, and for `offset` is 0. Therefore,
the call `file:seek()` returns the current file position, without changing
it; the call `file:seek("set")` sets the position to the beginning of the
file (and returns 0); and the call `file:seek("end")` sets the position
to the end of the file, and returns its size.
Parameters:
- whence
- offset
- file:setvbuf (mode, size)
-
Sets the buffering mode for an output file. There are three available
modes:
* "no": no buffering; the result of any output operation appears immediately.
* "full": full buffering; output operation is performed only when the
buffer is full (or when you explicitly `flush` the file (see `io.flush`)).
* "line": line buffering; output is buffered until a newline is output or
there is any input from some special files (such as a terminal device).
For the last two cases, `size` specifies the size of the buffer, in
bytes. The default is an appropriate size.
Parameters:
- mode
- size
- file:write (...)
-
Writes the value of each of its arguments to the `file`. The arguments
must be strings or numbers. To write other values, use `tostring` or
`string.format` before `write`.
Parameters:
- ...


-
favorite this post
Data Science Fellowship
map
hide this posting
restore
restore this posting
-
favorite this post
Product Management Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Do you use an API interface?
(San Francisco)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Software QA Analyst @ Kink.com
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Growth Stage Edtech Startup Hiring Full Stack Engineers
(Cambridge MA)
map
hide this posting
restore
restore this posting
-
favorite this post
Data Annotation Specialist | $40k - $50k per year
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Have a criminal record? Interested in tech? WE HAVE JOBS.
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Hardware/PCB/embedded co-founder sought for wearable startup
(San Francisco)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
JavaScript Developer at craigslist
(financial district)
hide this posting
restore
restore this posting
-
favorite this post
Full Stack Web Developer at craigslist
(financial district)
hide this posting
restore
restore this posting
-
favorite this post
React Developer at craigslist
(financial district)
hide this posting
restore
restore this posting
-
favorite this post
Mobile App Developer at craigslist
(financial district)
hide this posting
restore
restore this posting
-
favorite this post
Salesforce Specialist
(financial district)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Free Salesforce training
(San Francisco)
map
hide this posting
restore
restore this posting
-
favorite this post
Data Science Fellowship
map
hide this posting
restore
restore this posting
-
favorite this post
Product Management Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Back-End Application Engineer
(potrero hill)
map
hide this posting
restore
restore this posting
-
favorite this post
Foreign Degree? Get a Job in Tech
(San Francisco)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Engineering Manager at Fintech Company (NYC)
(financial district)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Product Manager
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Front End Software Engineer
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Software Engineer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
CTO/VPE
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
React Web Developer - For Leading Digital Agency
(financial district)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Director of Product Search
(downtown / civic / van ness)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Data Annotation Specialist | $40k - $50k per year
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Lead developer with potential to grow into CTO
(San Francisco)
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Amazing Summer Tech Camp Instructors Wanted!
(3250 19th Ave, San Francisco, CA)
map
hide this posting
restore
restore this posting
-
favorite this post
Data Science Fellowship
map
hide this posting
restore
restore this posting
-
favorite this post
Product Management Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Wearable startup seeks co-founder
(San Francisco)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Front-End Engineer
(potrero hill)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Software Engineer - DevOps
(potrero hill)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Software Engineer - Infrastructure
(potrero hill)
map
hide this posting
restore
restore this posting
-
favorite this post
Entry-Level Consultant at Boutique Consulting Firm
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Lead Full Stack Engineer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
Wanted: Clever liberal arts major who ...
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Video Engineer
map
hide this posting
restore
restore this posting
-
favorite this post
Full Stack Software Engineer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
DevOps Engineer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
Part-time Computer Science Consultant at Jose Ortega Elementary School
(ingleside / SFSU / CCSF)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Software Product Specialist for Growing Medical Device Company
map
hide this posting
restore
restore this posting
-
favorite this post
Full Stack Software Engineer
(San Francisco)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior User Interface Designer
(financial district)
map
hide this posting
restore
restore this posting
-
favorite this post
Software Development Manager
map
hide this posting
restore
restore this posting
-
favorite this post
Impact Evaluation Analyst | $63 - $71 per hour
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
Site Reliability Engineer
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Data Science Fellowship
map
hide this posting
restore
restore this posting
-
favorite this post
Product Management Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Product Analyst (AP1764)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Android Kotlin Developer (AP1760)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Growth Stage Edtech Startup Hiring Full Stack Engineers
(Cambridge MA)
map
hide this posting
restore
restore this posting
-
favorite this post
Data Science Fellowship
map
hide this posting
restore
restore this posting
-
favorite this post
Product Management Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
map
hide this posting
restore
restore this posting
-
favorite this post
Help Test our Self-Driving Car in SAN FRANCISCO!!
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Data Annotation Specialist | $40k - $50k per year
(SOMA / south beach)
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator, Overnight
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
R&D Test Operator (In Vehicle Testing)
(SOMA / south beach)
pic
map
hide this posting
restore
restore this posting
Few local results found. Here are some from nearby areas.
-
favorite this post
Multiple Technical Positions
map
hide this posting
restore
restore this posting
-
favorite this post
Multiple Technical Positions
map
hide this posting
restore
restore this posting
-
favorite this post
Content Reviewer
(cupertino)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Localization QA Tester
(cupertino)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operator at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
GIS Database Specialist - Part-time 32hrs /week
(san mateo)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Embedded Firmware Engineer
(dublin / pleasanton / livermore)
map
hide this posting
restore
restore this posting
-
favorite this post
Mobile Developer @ a Venture Funded Startup (local candidates only)
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
FRONT END DEV NEEDED TODAY $240
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
DATABASE PROGRAMMER
(watsonville)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operator | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operations Specialist | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Map Annotator | $30 - $36 per hour
(los altos)
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operator at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Business Analyst
(oakland downtown)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
SQL Business Intelligence Developer
(napa county)
map
hide this posting
restore
restore this posting
-
favorite this post
🔥Coding Instructor at theCoderSchool
(redwood city)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Entry Level Salesforce Einstein Report Developer needed
(milpitas)
map
hide this posting
restore
restore this posting
-
favorite this post
Part Time QlikView Developer/Power BI report writer needed
(fremont / union city / newark)
map
hide this posting
restore
restore this posting
-
favorite this post
Final Test Technician - Temp to Hire
(fremont / union city / newark)
map
hide this posting
restore
restore this posting
-
favorite this post
Manager, Software and Controls Engineering
(sunnyvale)
map
hide this posting
restore
restore this posting
-
favorite this post
Sr. Software Engineer
(milpitas)
map
hide this posting
restore
restore this posting
-
favorite this post
Database Administrator
(san carlos)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Map Annotator | $30 - $36 per hour
(los altos)
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operator at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Experienced Summer Tech Camp Directors Wanted!
(mountain view)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Director of COPA Technology
map
hide this posting
restore
restore this posting
-
favorite this post
Lead Software Developer
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operator | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operations Specialist | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operations Specialist at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Safety Driver | Fastest Growing Rideshare Company
(palo alto)
map
hide this posting
restore
restore this posting
-
favorite this post
Machine Learning NLP/NLU Engineer Wanted
(East Bay)
map
hide this posting
restore
restore this posting
-
favorite this post
Digital Media Tech (Instructional Support Technician II)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operator at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Business Analyst
(redwood city)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
LF Animators and Game Client Programmers -VR Studio
(palo alto)
map
hide this posting
restore
restore this posting
-
favorite this post
Triage Specialist | $30 - $34 per hour
(menlo park)
map
hide this posting
restore
restore this posting
-
favorite this post
Paid Opinion Study - M/F from the IT Industry/Field Needed
(Sunnyvale)
map
hide this posting
restore
restore this posting
-
favorite this post
Information Systems Analyst - Advancement Services
img
map
hide this posting
restore
restore this posting
-
favorite this post
IT Infrastructure Manager
(san rafael)
map
hide this posting
restore
restore this posting
-
favorite this post
PHP Developer
(morgan hill)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Backend Engineer - Dev Infra, Learning Experience
(mountain view)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Startup seeking full stack/backend web dev
(san jose downtown)
map
hide this posting
restore
restore this posting
-
favorite this post
Trust and Safety Contractor (Turkish) | $22 - $24 per hour
(menlo park)
map
hide this posting
restore
restore this posting
-
favorite this post
Map Annotator | $30 - $36 per hour
(los altos)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Tech Lead/Software Architect - Microservices (Milpitas)
(milpitas)
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operations Specialist at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Vehicle Operator at Toyota
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operator | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Autonomous Vehicle Operations Specialist | Baidu USA
(mountain view)
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineer II/III
(san jose downtown)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Now Hiring! Application Support Specialist $29/hr + benefits!
(cupertino)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Technical Coordinator
(mtb)
img
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
(sac)
map
hide this posting
restore
restore this posting
-
favorite this post
Automotive Warranty Admin - apply online!
(sac > Roseville)
pic
map
hide this posting
restore
restore this posting
-
favorite this post
Software Support Engineer
(sac > Folsom)
map
hide this posting
restore
restore this posting
-
favorite this post
SQL DBA
(sac > Sacramento)
map
hide this posting
restore
restore this posting
-
favorite this post
Industrial Software Engineer
(sac > Redding, CA area)
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
(sac)
map
hide this posting
restore
restore this posting
-
favorite this post
Senior Ruby Full Stack Developer
(sac > Remote)
map
hide this posting
restore
restore this posting
-
favorite this post
Software Engineering Fellow
(sac)
map
hide this posting
restore
restore this posting


public interface IConfiguration
Configurations are large objects that live server-side in the repository. A
typical configuration is much like the file system on your machine's hard
drives: an extensive tree (forest) of files. Just an you operate on the
individual files in the context of the file system, the client operates on
versionable items in the context of a configuration. And while you may ship
individual or small collections of files back and forth between disk and
memory, there's no need to ship the entire file systems back and forth in
order to interact with it. The file system stay put. Likewise with
configurations. They stay put, in the repository. All you ever need an
IConfiguration
for is to provide context. Furthermore, there
are no operations that overtly change configurations. Workspaces are the
foundries where all configurations are cast.
Configurations are intended to be used by multi-threaded clients. Unless
noted, the methods on IConfiguration
can be safely called from
multiple threads concurrently without risk of corruption.
| Modifier and Type | Method and Description |
|---|---|
java.util.Map |
childEntries(IFolderHandle folderHandle,
org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the names and item handles for the children of the given folder
in this configuration.
|
java.util.List |
childEntries(java.util.List folderHandles,
org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the names and item handles for the children of the given folders
in this configuration.
|
java.util.Map |
childEntriesForRoot(org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the names and item handles for the children of the root folder
in this configuration.
|
IFolder |
completeRootFolder(org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the root folder in this single-component configuration.
|
IComponentHandle |
component()
Returns a handle to the component that is scoping this configuration.
|
java.util.List |
determineAncestorsInHistory(java.util.List versionableHandles,
org.eclipse.core.runtime.IProgressMonitor monitor)
For each specified item, retrieves the sequence of name-item pairs that
leads to that item in the configuration starting at a root folder.
|
java.util.List<IAncestorReport> |
fetchAncestorsByName(java.lang.String exactVersionableName,
org.eclipse.core.runtime.IProgressMonitor monitor)
Finds and retrieves versionable items in this configuration whose names match
the input criteria.
|
IVersionable |
fetchCompleteItem(IVersionableHandle versionableItem,
org.eclipse.core.runtime.IProgressMonitor monitor)
Finds and retrieves the given versionable item in this configuration.
|
java.util.List |
fetchCompleteItems(java.util.List versionableItems,
org.eclipse.core.runtime.IProgressMonitor monitor)
Finds and retrieves the given versionable items in this configuration.
|
IVersionable |
fetchPartialItem(IVersionableHandle versionableItem,
java.util.Collection requiredProperties,
org.eclipse.core.runtime.IProgressMonitor monitor)
Finds and retrieves the given versionable item in this configuration.
|
java.util.List |
fetchPartialItems(java.util.List versionableItems,
java.util.Collection requiredProperties,
org.eclipse.core.runtime.IProgressMonitor monitor)
Finds and retrieves the given versionable items in this configuration.
|
boolean |
isAvailable(org.eclipse.core.runtime.IProgressMonitor monitor)
Returns whether this configuration is available.
|
boolean |
isLive()
Returns whether this configuration is "live".
|
java.util.List |
locateAncestors(java.util.List versionableHandles,
org.eclipse.core.runtime.IProgressMonitor monitor)
For each specified item, retrieves the sequence of name-item pairs that
leads to that item in the configuration starting at a root folder.
|
IFolder |
partialRootFolder(java.util.Collection requiredProperties,
org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the root folder in this single-component configuration.
|
IVersionableHandle |
resolvePath(IFolderHandle folderHandle,
java.lang.String[] nameSegments,
org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves a handle for the versionable item cataloged at the specified
path relative to the specified folder.
|
IFolderHandle |
rootFolderHandle(org.eclipse.core.runtime.IProgressMonitor monitor)
Retrieves the handle of the root folder in this single-component
configuration.
|
void |
setVersionablePermissions(IVersionableHandle[] versionables,
com.ibm.team.scm.common.dto.IPermissionContextProvider contextProvider,
org.eclipse.core.runtime.IProgressMonitor monitor)
Set the permissions for the given versionables and their descendants in this configuration.
|
ITeamRepository |
teamRepository()
Returns the repository associated with this configuration.
|
ITeamRepository teamRepository()
null
boolean isLive()
Collection
objects returned by the methods do not change
under foot for live configuration; it's just that the collections you get
back next time may contain different elements.
The configuration of a workspace is always live; conversely, the configuration of a baseline is never live.
Design note: The live flag allows the client to programmatically discover whether information retrieved from a configuration would be cacheable by the client.
true
if this configuration is live, and
false
if fixedIComponentHandle component()
null
.boolean isAvailable(org.eclipse.core.runtime.IProgressMonitor monitor)
A configuration may be unavailable for any number of reasons, including:
monitor
- a progress monitor, or null
if progress
reporting is not desiredtrue
if this configuration is available, and
false
if it is unavailable for any reasonIFolderHandle rootFolderHandle(org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
TeamRepositoryException
if the client is not logged in to
the repository, if this configuration is not associated with a
component or the configuration is unavailable for any other reason.
Note: The root of a single-component configuration is always the component's root folder. Below the root folder are files, folders, and other versionable item types which are supplied by server/repository extensions. The root folder is always present; it is created automatically and cannot be deleted.
monitor
- a progress monitor, or null
if progress
reporting is not desirednull
.NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonjava.util.Map childEntries(IFolderHandle folderHandle, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
folderHandle
is contained within the component that scopes this configuration.
The operation fails if the client is not logged in to the repository, the configuration is unavailable, or the item is not present in this configuration.
folderHandle
- the folder to examine; must not be null
monitor
- a progress monitor, or null
if progress
reporting is not desiredString
, value type: IVersionableHandle
);
unmodifiable and fixed; the entries all
have distinct non-null
names; the entries all
have distinct non-null
item ids and include state
ids; the order of the entries is unspecified and may vary from
call to call; never null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.ItemNotFoundException
- if the item is absent from the configurationTeamRepositoryException
- if the operation fails for any reasonjava.util.Map childEntriesForRoot(org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The operation fails if the client is not logged in to the repository, the configuration is unavailable, or the item is not present in this configuration.
monitor
- a progress monitor, or null
if progress
reporting is not desiredString
, value type: IVersionableHandle
);
unmodifiable and fixed; the entries all
have distinct non-null
names; the entries all
have distinct non-null
item ids and include state
ids; the order of the entries is unspecified and may vary from
call to call; never null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.ItemNotFoundException
- if the item is absent from the configurationTeamRepositoryException
- if the operation fails for any reasonjava.util.List childEntries(java.util.List folderHandles, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
folderHandles
are contained within the component that scopes this configuration.
The operation fails if the client is not logged in to the repository, or the configuration is unavailable.
folderHandles
- the folders to examine; must not be null
monitor
- a progress monitor, or null
if progress
reporting is not desiredMap
);
unmodifiable and fixed; the maps all
have distinct non-null
names; the entries all
have distinct non-null
item ids and include state
ids; the order of the maps corresponds to the order of the parents
in the folderHandles list; and entry may be null to indicate
the corresponding folder is not present in the configuration;
never null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.ItemNotFoundException
- if the item is absent from the configurationTeamRepositoryException
- if the operation fails for any reasonjava.util.List locateAncestors(java.util.List versionableHandles, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
This information could be turned into a path by combining the names from each
folder entry in sequence. The operation fails by throwing
TeamRepositoryException
if the client is not logged in to
the repository.
There can be at most one path to any particular versionable item in a configuration. A folder namespace is a strict tree with a single root for each component; there is no equivalent of Unix-style hard links.
versionableHandles
- a list of IVersionableHandle
; neither the list nor
its entries can be null
monitor
- a progress monitor, or null
if progress
reporting is not desiredIAncestorReport
)
paralleling versionableItems
in the order given;
each ancestor report is the sequence of folder entries that leads
from a root folder to the specified item; the first element
corresponds to a root folder and the last element corresponds to
the versionable item itself; an empty sequence means the item is
not present in this configuration; the first name-item pair
(only) will have a null
name because root folders
are not cataloged in any folder themselves; all item handles
within the ancestor report carry state ids; unmodifiable and
fixed; never null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonjava.util.List determineAncestorsInHistory(java.util.List versionableHandles, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
This information could be turned into a path by combining the names from each
folder entry in sequence. The operation fails by throwing
TeamRepositoryException
if the client is not logged in to
the repository.
There can be at most one path to any particular versionable item in a configuration. A folder namespace is a strict tree with a single root for each component; there is no equivalent of Unix-style hard links.
versionableHandles
- a list of IVersionableHandle
; neither the list nor
its entries can be null
monitor
- a progress monitor, or null
if progress
reporting is not desiredIAncestorReport
)
paralleling versionableItems
in the order given;
each ancestor report is the sequence of folder entries that leads
from a root folder to the specified item; the first element
corresponds to a root folder and the last element corresponds to
the versionable item itself; an empty sequence means the item was
never present in the history of this component, or that the item
may be in history, but has never made it successfully into the
configuration due to it being in conflict; the first name-item pair
(only) will have a null
name because root folders
are not cataloged in any folder themselves; all item handles
within the ancestor report carry state ids; unmodifiable and
fixed; never null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonIVersionableHandle resolvePath(IFolderHandle folderHandle, java.lang.String[] nameSegments, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
Each segment of the path represents a folder item except the final
segment, which can catalog any versionable item. Returns
null
if there is no item at the given path. If
nameSegments is empty, the method returns
folderHandle provided it is present in the configuration, and
null
if the folder is absent. The operation fails by
throwing NotLoggedInException
if the client is not
logged in to the repository.
folderHandle
- the folder within which to resolve the path; must not be
null
nameSegments
- the possibly empty sequence of name segments; each entry must
be a non-null string of between 1 and 250 characters; must not
be null
monitor
- a progress monitor, or null
if progress
reporting is not desirednull
if the path cannot be resolvedorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryTeamRepositoryException
- if the operation fails for any other reasonIFolder partialRootFolder(java.util.Collection requiredProperties, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
NotLoggedInException
if the
client is not logged in to the repository, if this configuration is
not associated with a component, or the configuration is unavailable for
other reason.
Note: The root of a single-component configuration is always the component's root folder. Below the root folder are files, folders, and other versionable item types such as requirements which are supplied by server/repository extensions. The root folder is always present; it is created automatically and cannot be deleted.
requiredProperties
- the list of names of item properties (element type:
String
); the strings must be valid property
names for the item type of itemHandle
;
duplicate property names are tolerated; null
means use the defaults for the item typemonitor
- a progress monitor, or null
if progress
reporting is not desirednull
org.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryTeamRepositoryException
- if the operation fails for any other reasonIVersionable fetchPartialItem(IVersionableHandle versionableItem, java.util.Collection requiredProperties, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The operation fails if the client is not logged in to the repository, the configuration is unavailable, or the item is not present in this configuration.
This convenience method is mostly equivalent to
fetchCompleteItems(List, IProgressMonitor)
for a single item, except that it
throws a TeamRepositoryException
if the item is not
present from the configuration.
versionableItem
- a versionable item handle; must not be null
requiredProperties
- the list of names of item properties (element type:
String
); the strings must be valid property
names for the item type of itemHandle
;
duplicate property names are tolerated; null
means use the defaults for the item typemonitor
- a progress monitor, or null
if progress
reporting is not desirednull
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.ItemNotFoundException
- if the item is absent from the configurationTeamRepositoryException
- if the operation fails for any reasonjava.util.List fetchPartialItems(java.util.List versionableItems, java.util.Collection requiredProperties, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The result is a flat list of versionable states that includes elements
corresponding to each of the given items, in the same order. Items absent
from the configuration are indicated by null
in the
corresponding position in the result. The operation fails if the client
is not logged in to the repository, or the configuration is unavailable
for any other reason.
versionableItems
- a list of versionable item(element type:
IVersionableHandle
); must not be null
requiredProperties
- the list of names of item properties (element type:
String
); the strings must be valid property
names for the item type of itemHandle
;
duplicate property names are tolerated; null
means use the defaults for the item typemonitor
- a progress monitor, or null
if progress
reporting is not desiredIVersionable
or null
) in the same order
as versionableItems
, with null
elements indicating corresponding items absent from the
configuration (element type: Versionable
; never
null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonIFolder completeRootFolder(org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
TeamRepositoryException
if the
client is not logged in to the repository, if this configuration is
not associated with a component, or the configuration is unavailable for
other reason.
Note: The root of a single-component configuration is always the component's root folder. Below the root folder are files, folders, and other versionable item types such as requirements which are supplied by server/repository extensions. The root folder is always present; it is created automatically and cannot be deleted.
monitor
- a progress monitor, or null
if progress
reporting is not desirednull
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonIVersionable fetchCompleteItem(IVersionableHandle versionableItem, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The operation fails if the client is not logged in to the repository, the configuration is unavailable, or the item is not present in this configuration.
This convenience method is mostly equivalent to
fetchCompleteItems(List, IProgressMonitor)
for a single item, except that it
throws a ItemNotFoundException
if the item is not
present from the configuration.
versionableItem
- a versionable item handle; must not be null
monitor
- a progress monitor, or null
if progress
reporting is not desirednull
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.ItemNotFoundException
- if the item is absent from the configurationTeamRepositoryException
- if the operation fails for any reasonjava.util.List fetchCompleteItems(java.util.List versionableItems, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The result is a flat list of versionable states that includes elements
corresponding to each of the given items, in the same order. Items absent
from the configuration are indicated by null
in the
corresponding position in the result. The operation fails if the client
is not logged in to the repository, or the configuration is unavailable
for any other reason.
versionableItems
- a list of versionable item(element type:
IVersionableHandle
); must not be null
monitor
- a progress monitor, or null
if progress
reporting is not desiredIVersionable
or null
) in the same order
as versionableItems
, with null
elements indicating corresponding items absent from the
configuration (element type: Versionable
; never
null
NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonjava.util.List<IAncestorReport> fetchAncestorsByName(java.lang.String exactVersionableName, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
The result is a list of ancestor reports which match the versionable name. The operation fails if the client is not logged in to the repository, or the configuration is unavailable for any other reason.
exactVersionableName
- a non-null
, non-empty name for the versionablemonitor
- a progress monitor, or null
if progress
reporting is not desiredIAncestorReport
or null
) which match the criteria;
never null
, but perhaps empty.NotLoggedInException
- if the operation fails because the client was not logged in
to the repositoryorg.eclipse.core.runtime.OperationCanceledException
- if the operation is canceled. Cancellation can occur even if
no progress monitor is provided.TeamRepositoryException
- if the operation fails for any other reasonIVersionable.getName()
void setVersionablePermissions(IVersionableHandle[] versionables, com.ibm.team.scm.common.dto.IPermissionContextProvider contextProvider, org.eclipse.core.runtime.IProgressMonitor monitor) throws TeamRepositoryException
versionables
- the versionablescontextProvider
- the permissions contextmonitor
- a progress monitorTeamRepositoryException


The most sophisticated, battery-efficient background-geolocation and geofencing plugin for Cordova
The plugin knowns when the device is moving & stationary. When the device is detected to be moving, the plugin will automatically start tracking. It doesn't matter whether the app is in foreground or background.
iOS typically requires movement of 200 meters beyond the last known location before tracking will engage. Android is much more sensitive to triggering: it will typically trigger tracking simply by walking a few meters.
Enter an url in the settings screen to upload data to your server.
Add geofences with long-press on map.
Test geofences in iOS simulator with City Drive then click "Load Geofences" in the Settings Screen.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cetus.hir.SymbolTools
public final class SymbolTools
SymbolTools provides tools for interfacing symbol tables and related searches.
| Method Summary | |
|---|---|
static void |
addSymbols(SymbolTable table,
Declaration decl)
Adds symbols to a symbol table and checks for duplicates. |
static java.util.List<Symbol> |
exprsToSymbols(java.util.List<Expression> exprs)
Returns a list of symbols by taking symbol object out of the expressions in the given list. |
static Declaration |
findSymbol(SymbolTable table,
IDExpression name)
Searches for a symbol by name in the table. |
static Declaration |
findSymbol(SymbolTable table,
java.lang.String sname)
Searches for a symbol by String sname in the table. |
static java.util.Set<Symbol> |
getAccessedSymbols(Traversable t)
Returns the set of symbols accessed in the traversable object. |
static Identifier |
getArrayTemp(Traversable where,
java.util.List specs,
ArraySpecifier aspec,
java.lang.String name)
Returns a new identifier derived from the given IR object, type list, array specifier and name. |
static Identifier |
getArrayTemp(Traversable where,
java.util.List specs,
java.util.List aspecs,
java.lang.String name)
Returns a new identifier derived from the given IR object, type list, array specifiers and name. |
static ClassDeclaration |
getClassDeclaration(Symbol symbol,
Traversable tr)
Returns the user-defined class declaration for the given symbol. |
static java.util.List |
getExpressionType(Expression e)
Returns a list of specifiers of the given expression. |
static java.util.Set<Symbol> |
getGlobalSymbols(Traversable t)
Returns the set of Symbol objects that are global variables of the File scope |
static java.util.Set<Symbol> |
getLocalSymbols(Traversable t)
Returns the set of symbols declared within the specified traversable object. |
static java.util.List<Specifier> |
getNativeSpecifiers(Traversable t,
Symbol symbol)
Returns C-native specifiers for the given symbol. |
static Identifier |
getOrphanID(java.lang.String name)
Returns an incomplete Identifier whose relevant symbol is not defined. |
static java.util.Set<Symbol> |
getParameterSymbols(Procedure proc)
Returns the set of Symbol objects that are formal parameters of the given Procedure |
protected static java.util.List<SymbolTable> |
getParentTables(Traversable obj)
Returns a list of parent symbol tables. |
static Identifier |
getPointerTemp(Traversable where,
Identifier refID)
Returns a new, pointer-type identifier derived from the given IR object. |
static Identifier |
getPointerTemp(Traversable where,
java.util.List specs,
java.util.List pspecs,
java.lang.String name)
Returns a new, pointer-type identifier derived from the given IR object. |
static Identifier |
getPointerTemp(Traversable where,
java.util.List specs,
java.lang.String name)
Returns a new, pointer-type identifier derived from the given IR object. |
static java.util.Set<Symbol> |
getSideEffectSymbols(FunctionCall fc)
|
static Symbol |
getSymbolOf(Expression e)
Returns the symbol of the expression if it represents an lvalue. |
static Symbol |
getSymbolOfName(java.lang.String name,
Traversable tr)
Returns the symbol object having the specified string name. |
static java.util.Set<Symbol> |
getSymbols(SymbolTable st)
Returns the set of Symbol objects contained in the given SymbolTable object. |
protected static java.util.Map<IDExpression,Declaration> |
getTable(SymbolTable symtab)
Returns the look-up table that is internal to the given symbol table object. |
static Identifier |
getTemp(Identifier id)
Returns a new identifier derived from the given identifier. |
static Identifier |
getTemp(Identifier id,
java.lang.String name)
Returns a new identifier derived from the given identifier and name. |
static Identifier |
getTemp(Traversable where,
Identifier id)
Returns a new identifier derived from the given IR object and identifier. |
static Identifier |
getTemp(Traversable where,
java.util.List specs,
java.lang.String name)
Returns a new identifier derived from the given IR object, type list, and name. |
static Identifier |
getTemp(Traversable where,
Specifier spec,
java.lang.String name)
Returns a new identifier derived from the given IR object, type, and name. |
static IDExpression |
getUnusedID(SymbolTable table)
Returns a randomly-generated name that is not found in the table. |
static java.util.Set<Symbol> |
getVariableSymbols(SymbolTable st)
Returns the set of Symbol objects contained in the given SymbolTable object excluding Procedures. |
static java.util.LinkedList |
getVariableType(Expression e)
Returns a list of specifiers of the expression. |
static boolean |
isArray(Symbol symbol)
Checks if the symbol is an array variable. |
static boolean |
isFormal(Symbol symbol)
Checks if the given symbol is declared as a formal variable. |
static boolean |
isFormal(Symbol symbol,
Procedure proc)
Checks if the given symbol is declared as a formal variable. |
static boolean |
isGlobal(Symbol symbol)
Checks if the given symbol is declared as a global variable. |
static boolean |
isGlobal(Symbol symbol,
Traversable t)
Checks if the symbol is a global variable to the procedure containing the given traversable object. |
static boolean |
isInteger(java.util.List specifiers)
|
static boolean |
isInteger(Symbol symbol)
Checks if the symbol is an interger type variable. |
static boolean |
isLocal(Symbol symbol)
Checks if the given symbol is declared as a local variable. |
static boolean |
isOrphan(Symbol symbol)
Checks if the given symbol does not belong to the IR tree. |
static boolean |
isPointer(Expression e)
Checks if the symbol is a pointer type variable. |
static boolean |
isPointer(Symbol symbol)
Checks if the symbol is a pointer type variable. |
static boolean |
isPointerParameter(Symbol param)
Checks if the given symbol is a parameter and a pointer-compatible symbol. |
static boolean |
isScalar(Symbol symbol)
Checks if the symbol is a scalar variable. |
static boolean |
isStruct(Symbol symbol,
Traversable tr)
Checks if the given symbol is a user-defined struct type. |
static void |
linkSymbol(Traversable tr)
Makes links from all IDExpression objects in the program to
their corresponding declarators while generating warnings if there is
any undeclared variables or functions. |
protected static void |
removeSymbol(SymbolTable table,
Symbol symbol)
Removes the specified symbol from the symbol table object. |
protected static void |
removeSymbols(SymbolTable table,
Declaration decl)
Removes the symbols declared by the declaration from the symbol table. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static void linkSymbol(Traversable tr)
IDExpression
objects in the program to
their corresponding declarators while generating warnings if there is
any undeclared variables or functions. This method is called with the
whole program, before any Cetus passes by default and provides a short cut
to the declaration point, which enables faster access to the declaration
when necessary. Pass writers can call this routine after changing a certain
part of the program, e.g., a specific program section within a scope, to
reflect the change due to new insertion of declaration.
tr
- the input cetus IR.public static boolean isGlobal(Symbol symbol)
symbol
- the symbol of the variable.
public static boolean isLocal(Symbol symbol)
symbol
- the symbol of the variable.
public static boolean isOrphan(Symbol symbol)
symbol
- the symbol of the variable.
public static boolean isFormal(Symbol symbol, Procedure proc)
symbol
- the symbol of the variable.
public static boolean isFormal(Symbol symbol)
symbol
- the symbol to be checked.
public static java.util.List<Symbol> exprsToSymbols(java.util.List<Expression> exprs)
public static boolean isPointerParameter(Symbol param)
public static java.util.List<Specifier> getNativeSpecifiers(Traversable t, Symbol symbol)
public static boolean isStruct(Symbol symbol, Traversable tr)
symbol
- the symbol object to be checked.tr
- the traversable object to be searched.public static ClassDeclaration getClassDeclaration(Symbol symbol, Traversable tr)
symbol
- the symbol object to be checked.tr
- the traversable object to be searched.public static Identifier getOrphanID(java.lang.String name)
public static void addSymbols(SymbolTable table, Declaration decl)
table
- The symbol table to add the symbols to.decl
- The declaration of the symbols.
DuplicateSymbolException
- if there are conflicts with
any existing symbols in the table.public static Declaration findSymbol(SymbolTable table, IDExpression name)
table
- The initial table to search.name
- The name of the symbol to locate.
protected static java.util.List<SymbolTable> getParentTables(Traversable obj)
public static IDExpression getUnusedID(SymbolTable table)
table
- The table to search.
protected static void removeSymbols(SymbolTable table, Declaration decl)
table
- The table from which to remove the symbols.decl
- The declaration of the symbols.protected static void removeSymbol(SymbolTable table, Symbol symbol)
table
- the relevant symbol table object.symbol
- the symbol object to be removed.
java.lang.IllegalArgumentException
- if symbol is referenced within
table.public static Identifier getTemp(Identifier id)
getTemp(Identifier, String)
.
id
- the identifier from which type and scope are derived.
public static Identifier getTemp(Traversable where, Identifier id)
getTemp(Traversable, List, String)
.
where
- the IR object from which scope is derived.id
- the identifier from which type is derived.
public static Identifier getTemp(Identifier id, java.lang.String name)
getTemp(Traversable, List, String)
.
id
- the identifier from which scope is derived.name
- the string from which name is derived.
public static Identifier getTemp(Traversable where, Specifier spec, java.lang.String name)
getTemp(Traversable, List, String)
.
where
- the IR object from which scope is derived.spec
- the type specifier.name
- the string from which name is derived.
public static Identifier getTemp(Traversable where, java.util.List specs, java.lang.String name)
getArrayTemp(Traversable, List, List, String)
.
where
- the IR object from which scope is derived.specs
- the type specifiers.name
- the string from which name is derived.
public static Identifier getArrayTemp(Traversable where, java.util.List specs, ArraySpecifier aspec, java.lang.String name)
getArrayTemp(Traversable, List, List, String)
.
where
- the IR object from which scope is derived.specs
- the type specifiers.aspec
- the array specifier.name
- the string from which name is derived.
public static Identifier getArrayTemp(Traversable where, java.util.List specs, java.util.List aspecs, java.lang.String name)
specs
contains any pointer
specifiers, they are automatically separated and inserted into the list
of specifiers that belong to the new VariableDeclarator
object.
where
- the IR object from which scope is derived.specs
- the type specifiers.aspecs
- the array specifier.name
- the string from which name is derived.
public static Identifier getPointerTemp(Traversable where, Identifier refID)
where
- the IR object from which scope is derived.refID
- the identifier from which type and name are derived.
public static Identifier getPointerTemp(Traversable where, java.util.List specs, java.lang.String name)
where
- the IR object from which scope is derived.specs
- the type specifiers.name
- the string from which name is derived.
public static Identifier getPointerTemp(Traversable where, java.util.List specs, java.util.List pspecs, java.lang.String name)
where
- the IR object from which scope is derived.specs
- the type specifiers.pspecs
- the pointer-type specifiers.name
- the string from which name is derived.
public static java.util.Set<Symbol> getSymbols(SymbolTable st)
st
- the symbol table being searched.
public static java.util.Set<Symbol> getVariableSymbols(SymbolTable st)
st
- the symbol table being searched.
public static java.util.Set<Symbol> getGlobalSymbols(Traversable t)
public static java.util.Set<Symbol> getParameterSymbols(Procedure proc)
public static java.util.Set<Symbol> getSideEffectSymbols(FunctionCall fc)
public static java.util.Set<Symbol> getAccessedSymbols(Traversable t)
t
- the traversable object.
public static java.util.Set<Symbol> getLocalSymbols(Traversable t)
t
- the traversable object.
public static Symbol getSymbolOfName(java.lang.String name, Traversable tr)
name
- the name to be searched for.tr
- the IR location where searching starts.
public static Symbol getSymbolOf(Expression e)
e
- the input expression.
public static boolean isGlobal(Symbol symbol, Traversable t)
symbol
- The symbol objectt
- The traversable object
public static boolean isScalar(Symbol symbol)
symbol
- The symbol
public static boolean isArray(Symbol symbol)
symbol
- The symbol
public static boolean isPointer(Symbol symbol)
symbol
- The symbol
public static boolean isPointer(Expression e)
e
- the expression to be tested.public static boolean isInteger(Symbol symbol)
symbol
- the symbol.
public static boolean isInteger(java.util.List specifiers)
public static java.util.List getExpressionType(Expression e)
e
- the given expression.
public static Declaration findSymbol(SymbolTable table, java.lang.String sname)
table
- The initial table to search.sname
- The String name of the symbol (Symbol.getSymbolName()) to locate.
public static java.util.LinkedList getVariableType(Expression e)
protected static java.util.Map<IDExpression,Declaration> getTable(SymbolTable symtab)
symtab
- the given symbol table object.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |