RECENT POSTS
- Tizonia 0.22.0 adds support for iHeartRadio
- Tizonia 0.21.0 brings changes to minimize the YouTube API quota issues
- TuneIn Internet radio and podcasts, and color-themes in Tizonia 0.20.0
- Global Spotify playlist search and other improvements in Tizonia 0.19.0
- Fixed 'Google Play Music tracks cut short' in Tizonia 0.18.0
- Spotify login issues fixed in Tizonia 0.17.0
- More ways to discover music on Spotify with Tizonia 0.16.0
- Totally revamped Spotify support in Tizonia 0.15.0
- Tizonia v0.14.0 adds YouTube Channels and Google Play Music stations for non-subscribers
- Tizonia v0.13.0 adds support for Plex media servers
- All posts ...
TuneIn Internet radio and podcasts, and color-themes in Tizonia 0.20.0
Feb 20, 2020 • juanrubio
Tizonia version 0.20.0 codenamed “Alicun” is out with 227 commits, 1260 files changed, 17729 insertions(+), 4953 deletions(-).
TuneIn Internet radios and podcasts
When the Dirble Internet radio directory was shutdown, I sorely missed the ability to search and listen to Internet radios with Tizonia. Dirble was removed in Tizonia 0.19.0. To replace it, TuneIn is now available in 0.20.0. You can create instant playlists of stations and podcast, searching TuneIn by genre (music, news, talk, sports, etc), location, trending etc.
See tunein for more details.
Fun with color-themes!
This was a feature request, and one that I had never thought about (thanks driador!). A very fun idea actually. Well, now its available in 0.20.0. There are 4 themes shipped out of the box. Also customizing these themes or creating completely new ones is actually really easy.
A new build system based on Meson
Thanks to lgbaldoni Tizonia has gained a shiny new build system based on Meson.
With the old build system, Tizonia builds were reeeaaally slow, around 20-25 minutes. Now with Meson, the build times are down to a couple of minutes!
A man page added and the refresh of the documentation site
Something that was long due was the man page for Tizonia. This issue has been fixed in this release. Also the documentation web site, that has been in ‘draft’ state for far too long, has been refreshed and finalised.
tizonia-remote
tizonia-remote
is small utility that may be used to control a Tizonia
instance running in the background from another terminal or program. This has
been available for a long time but has never been distributed in the Debian
packages until now.
See tizonia-remote for more details.
Binaries and distribution
As usual CHANGELOG.md contains all the details.
Tizonia v0.20.0 will be soon in the following channels:
- Bintray (Debian packages)
- AUR (Arch Linux)
- Snap Store.
- docker-tizonia.
Thanks!
Many thanks to all the people that have contributed to this release, with code, bug reports or feedback. Special mention to lgbaldoni for contributing the Meson build system. Also thanks to SolarAquarion for taking over the maintainership of the tizonia-all-git AUR package.
Contributing
Please have a look at our contribution guidelines if you are interested in participating. We are always looking for help, be it with feature requests, bug reporting, code contributions or general feedback.
We need maintainers for our various packaging systems, like Snap, or Docker. If you have an interest on these things, please reach out!
Give us your star!
Finally, if you enjoy using Tizonia and have a GitHub account, consider giving us your star!. That really means a lot! :-)
- Older
- Newer


{% extends "layout.html" %} {% block content %}
This is a platform for people to swap used goodies!
Help us save our planet :)


Learn More About Kayce
O:<PHONE_NUMBER>
M:<PHONE_NUMBER>
Elliman Florida agent Kayce Driscoll has over a decade of experience in the Real Estate Industry, specializing in luxury waterfront properties. Luxury Condos "on the sand" and homes, specifically on Hibiscus, Palm, Star, Sunsets and the Venetian Islands in Miami Beach.
Prior to joining Elliman Florida, Kayce worked with a boutique firm, during which time she won numerous awards including Top Producer, International Top Producer, and the Best of the Beach Award. In fact, she sold two commercial deals, each over $1M, her first week in the business. Kayce has her proverbial finger on the pulse of the market. "I can feel the market turning, because I am out there every day," she says. "I am not just a Realtor but an investor, too, so I watch out for my clients the same way I would watch out for my own properties." She considers herself a natural salesperson, and has a talent for listening to her clients' "wish lists" and locating the perfect property in 3 days.
Kayce's success in sales has been proven in multiple industries, as she managed a 450 person sales organization at TDS prior to the age of 40. As technology sector emerged, she became the top producer and won awards as MVP at Oracle Corporation, where her team sold a $136M software deal.
When she is not working, Kayce loves to travel, having visited over 50 countries. She also enjoys skiing while at her second home in Aspen, art, animal rescue, the water, ballet and entertaining.
Learn More About Liz
O:<PHONE_NUMBER>
M:<PHONE_NUMBER>
Liz takes a personalized real estate approach with each of her clients, focusing on their specific buying or selling needs. As a resident of Miami Beach, Liz is able to provide her clients with local expertise and the most current market trends. Understanding that buying and selling properties are some of the most important life decisions her clients make, Liz takes time to get to know her clients and provides ultimate customer service through their entire transaction.
A native of North Carolina, Liz graduated from the University of North Carolina at Chapel Hill with a Bachelor of Arts degree in Communication Studies.
In her free time, Liz enjoys running, relaxing on the beach, and spending time with her two dogs Winston and Stella.
Established in 1911, Douglas Elliman Real Estate is the largest brokerage in the New York Metropolitan area and the third largest residential real estate company nationwide. With more than 7,000 agents, the company operates approximately 115 offices in New York City, Long Island, The Hamptons, Westchester, Connecticut, New Jersey, Florida, California, Colorado and Massachusetts. Moreover, Douglas Elliman has a strategic global alliance with London-based Knight Frank Residential for business in the worldwide luxury markets spanning 60 countries and six continents.
At Douglas Elliman, we are passionate about delivering exceptional consumer experiences. By offering a complete suite of real estate services, we ensure that we meet our consumers' every need. From sales and rentals, to mortgage, new developments and title insurance, we have experts in every field to guide you skillfully from beginning to the end of your real estate journey.
Douglas Elliman's outstanding track record, unique brand promise, and exceptional agent support system attract top talent, ensuring that our team of experts represents the very best in the industry. At Douglas Elliman, we believe that access to the best and most timely information can dramatically shape our decisions. Today's consumer needs a trusted resource that can separate signal from noise and help them navigate the complex process that real estate has become. With our extensive knowledge in every aspect of the field, and fueled by consumer research and insights, we are the go-to source for information and education.
Our critically acclaimed website, Elliman.com, serves as a singular destination where consumers can search properties throughout the entire New York, South Florida, California, Connecticut, Colorado, New Jersey and Massachusetts markets, and access the most current market information as well as comprehensive building and neighborhood guides, among a host of interactive content. As committed to growth and innovation as we are to our consumers, we have launched AskElliman.com, our groundbreaking new web feature that facilitates open communication with consumers, allowing them to tap into the wealth of knowledge from real estate to mortgage financing, to specific neighborhoods, legal, and more.


Sorry, your browser doesn't support the <canvas> element.
Turntable:
Objects:
Dragon
Adrian's Head
Apple
Orange
Draw:
All
Active
Angle
Angle + Active
Images:
Reload
Copy to Clipboard
Angle:
LR-Offset:
FB-Offset:
Vertical Offset:
Scale:
Editor Alpha:
Enter VR
Exit VR
Erode


The open source design movement has formed strong roots within the climate change community. Because traditional institutions, such as the government and big business, have failed the to address climate change, they have looked to more decentralized solutions to help preserve the planet. Open source design is the best way to quickly, and cheaply, spread an idea. It also allows for strong customization for different environments and need. Furthermore, open source works most ideally in a collaborative environment; the fight against climate change has formed an extremely strong community that constantly collaborates.
In a reaction to the failure of COP21, the twenty-first attempt of world leaders to combat climate change, the open source community collaborated to create POC21. POC21 is an international innovation network that has produced a number of incredible, ingenious open source solutions to climate change problems. Their most notable projects include the $30 wind turbine [3] (discussed by the “Social Impact of Energy” group in their group presentation), self-filtering showers, and low-waste urban farms. This conference, and many of the associated products, demonstrate the influence, size, and power of the open source climate change community. [2]
One benefit that open source provides for the climate change community is that it allows for the most eyes possible to be on a problem. By having the problem, solutions, and past experiments completely available to the public, open source provides an ideal platform to keep up with the pace of research, dissemination of solutions, and scrutiny of governments. This results in, literally, the entire world solving the problems with one another to reach the most informed and optimal solution. [1]
Another interesting corollary of open source is that it limits waste. By making all past and current experiments open, it ensures that no two teams waste time on the same angle. This happens to be an extremely efficient and sustainable model of improvement. [1]
One of the challenges faced is generating enough investment to get many of these open source labs off the ground. It is difficult to demonstrate the value in a product/company beyond the IP. Therefore, the lack of investment is a throttling the growth. However, the investors are beginning to understand new valuation models and are beginning to invest in some of the open source designs. [1]
One example of an open source solution for tackling sustainable, urban food growth is “GrowGrid”. These are literally raised wood beds for space efficient urban farming. These boxes can even be stacked on top of one another in a “GrowWall” set up. For urban composting, there is an open source composting apparatus called the “WormHaus” that literally turns food scraps into natural fertilizer. In an effort to combat the bee crisis, the “Colorado Top Bar” is an at home bee farm. [4]
Another example of an extremely successful open source design project is the “$30 Wind Farm”. It can be assembled in 4-6 hours by 2 people. This cheap wind farm was designed in part of an effort to make the sustainable energy more accessible to low-income and under-served population. This is essential to help renewable energy solutions move from the market of toys of the rich to tools for everyone. [3]
Sources - Click Item for Link
[1] The Sustainability Commons: Using Open Source Design to Address Climate Change. Cat Johnson. June 8, 2016.
[2] Eco-geeks hold open source alternative to UN climate talks. Tristan Copley Smith. 21 Sep 2015.
[3] 30$ WIND TURBINE. Daniel Connel. Date Unknown.
[4] 6 Open Source Kits to Kickstart Your Urban Gardening. Kelly McCartney. October 14, 2015.


Unidentified body recovered in the city
STAFF REPORTER
GUWAHATI, Nov 20: An unknown dead body of a male about 25 years of age, was recovered from a footpath at Kedar Road on Tuesday. The body is preserved at GMCH morgue for 72 hours.
Also read: Blind faith makes parents keep daughter’s body for hours in Uttar Pradesh
Also watch: 12 year old boy drowns in Kokrajhar


{% extends request.THEME_NAME|add:'/classic_site_base.html' %} {% load static %} {% block content %}
Lorem ipsum dolor sit amet, ectetur adipiscing elit. viverra tellus. ipsumdolorsitda amet, ectetur adipiscing elit. Ectetur adipiscing elit. viverra tellus.ipsum dolor sit.
Lorem ipsum dolor sit amet, ectetur adipiscing elit. viverra tellus.
| Invoice | User | Order date | Amount | Status | Tracking Number |
|---|---|---|---|---|---|
| Order #65845 | Johen Doe | Jng 26, 2017 | $45.00 |
Paid
|
- |
| Order #95425 | Maical Boy | Oct 24, 2017 | $245.30 |
Shipped
|
ABC85421952 |
| Order #53433 | Amanda Roc | Oct 24, 2017 | $38.00 |
Shipped
|
ABC85421952 |
| Order #8542 | Vedaran Doe | Oct 15, 2017 | $77.99 |
Shipped
|
ABC85421952 |
| Order #7458 | Sumakar Jack | Oct 12, 2017 | $18.00 |
Paid
|
- |
| Order #84562 | Karlos Potar | Jng 26, 2017 | $45.00 |
Paid
|
- |
| Order #845121 | Jil Clark | Oct 24, 2017 | $245.30 |
Shipped
|
ABC85421952 |
| Order #95487 | Brethwth doe | Oct 17, 2017 | $658.00 |
Refunded
|
- |
| Order #123548 | Mical Doe | Oct 19, 2017 | $45.58 |
Unpaid
|
- |
MONDAY May 11, 2017
Today
Sale


The Game of 31
问题描述 :
The game of 31 was a favourite of con artists who rode the railroads in days of yore. The game is played with a deck of 24 cards: four labelled each of 1, 2, 3, 4, 5, 6. The cards in the deck are visible to both players, who alternately withdraw one card from the deck and place it on a pile. The object of the game is to be the last player to lay a card such that the sum of the cards in the pile does not exceed 31. Your task is to determine the eventual winner of a partially played game, assuming each player plays the remainder of the game using a perfect strategy.
For example, in the following game player B wins:
Player A plays 3
Player B plays 5
Player A plays 6
Player B plays 6
Player A plays 5
Player B plays 6
For example, in the following game player B wins:
Player A plays 3
Player B plays 5
Player A plays 6
Player B plays 6
Player A plays 5
Player B plays 6
输入:
The input will consist of several lines; each line consists of a sequence of zero or more digits representing a partially completed game. The first digit is player A’s move; the second player B’s move; and so on. You are to complete the game using a perfect strategy for both players and to determine who wins.
输出:
The input will consist of several lines; each line consists of a sequence of zero or more digits representing a partially completed game. The first digit is player A’s move; the second player B’s move; and so on. You are to complete the game using a perfect strategy for both players and to determine who wins.
样例输入:
356656 35665 3566 111126666 552525
样例输出:
356656 B 35665 B 3566 A 111126666 A 552525 A
爆搜吧，数据量不大，没必要用记忆化
/******************************************************************************* # Author : Neo Fung # Email<EMAIL_ADDRESS># Last modified: 2012-06-21 17:50 # Filename: ZOJ1827 HDU4155 The Game of 31.cpp # Description : ******************************************************************************/ #ifdef _MSC_VER #define DEBUG #define _CRT_SECURE_NO_DEPRECATE #endif #include <fstream> #include <stdio.h> #include <iostream> #include <string.h> #include <string> #include <limits.h> #include <algorithm> #include <math.h> #include <numeric> #include <functional> #include <ctype.h> using namespace std; const int kMAX=10010; const double kEPS=10E-6; int num[7]; bool dfs(const int &sum)//是否必败点 { if(sum>=31) return true;//如果到达本节点时sum大于等于31，则此时加任何数字都是输的，可知本节点是必败点 for(int i=1;i<=6;++i) if(num[i] && sum+i<=31) { --num[i]; if(dfs(sum+i))//找到一个后续节点是必败点，则本节点是必胜点 { ++num[i]; return false; } ++num[i]; } return true;//找不到任何后续节点是必败点，则本节点也是比败点 } int main(void) { #ifdef DEBUG freopen("../stdin.txt","r",stdin); freopen("../stdout.txt","w",stdout); #endif int n; char str[kMAX]; while(~scanf("%s",str)) { int len=strlen(str); for(int i=1;i<=6;++i) num[i]=4; int sum=0; for(size_t i=0;i<len;++i) { --num[str[i]-'0']; sum+=str[i]-'0'; } printf("%s ",str); if(dfs(sum)) { if(len&1) printf("A\n"); else printf("B\n"); } else { if(len&1) printf("B\n"); else printf("A\n"); } } return 0; }
版权声明：本文为博主原创文章，未经博主允许不得转载。
参考：http://blog.csdn.net/neofung/article/details/7683793
(adsbygoogle = window.adsbygoogle || []).push({});
愚蠢无下限？
貌似缺点卫生纸…..


To use ConCoord you need a Python object that can be used for the coordination of your distributed system. In the ConCoord distribution, we offer ready-to-use objects that cover the most common coordination needs. So first, let’s start a ConCoord instance with an object in the distribution, namely Counter under concoord/object/counter.py.
To distribute your object you should start at least one replica.
To start a bootstrap replica node that doesn’t need to be connected to another replica:
$ concoord replica -o concoord.object.counter.Counter -a <IP_ADDRESS> -p 14000
To start replica nodes to join an active ConCoord instance, use the following command to connect to another replica:
$ concoord replica -o concoord.object.counter.Counter -b <IP_ADDRESS>:14000 -a <IP_ADDRESS> -p 14001
Note that you can specify the port and the address of any node with options -p and -a respectively. The nodes can also be run in the debug mode or with a logger with the commands shown below:
Usage: concoord replica [-h] [-a ADDR] [-p PORT] [-b BOOTSTRAP] [-o OBJECTNAME] [-l LOGGER] [-n DOMAIN] [-r] [-w] [-d]
-h, --help show this help message and exit
-a ADDR, --addr ADDR address for the node
-p PORT, --port PORT port for the node
-b BOOTSTRAP, --boot BOOTSTRAP address:port tuple for the bootstrap peer
-o OBJECTNAME, --objectname OBJECTNAME client object dotted name
-l LOGGER, --logger LOGGER logger address
-n DOMAIN, --domainname DOMAIN domain name that the name server will accept queries for
-r, --route53 use Route53
-w, --writetodisk writing to disk on/off
-d, --debug debug on/off
You can dynamically locate nodes in a given ConCoord instance using DNS queries if the instance includes replicas that can act as name servers. There are two ways you can run a ConCoord Replica as a name server.
To use a replica node as a master name server first you have to setup the name server delegations (you can do this by updating the domain name server information of any domain name you own from the domain registrar you use (godaddy, namecheap etc.)). Once all the delegations are setup for the ip address the replica uses, you can start a replica node as a name server for counterdomain.com as follows:
$ sudo concoord replica -o concoord.object.counter.Counter -a <IP_ADDRESS> -n counterdomain.com
And to start the replica to join an already running ConCoord instance, provide the bootstrap:
$ sudo concoord replica -o concoord.object.counter.Counter -a <IP_ADDRESS> -b <IP_ADDRESS>:14000 -n counterdomain.com
When the replica starts running, you can send queries for counterdomain.com and see the most current set of nodes as follows:
$ dig -t a counterdomain.com # returns set of Replicas
$ dig -t srv _concoord._tcp.counterdomain.com # returns set of Replicas with ports
$ dig -t txt counterdomain.com # returns set of all nodes
$ dig -t ns counterdomain.com # returns set of name servers
If you want to run the name server without proper delegation setup, you can query the name server bound to <IP_ADDRESS> specifically as follows:
$ dig -t txt counterdomain.com @<IP_ADDRESS> # returns set of all nodes
Note that this would only work for a, srv and txt queries, since ns queries require absolute dns names or origins, not an ip address.
First make sure that boto is installed on the machine you want to run the Route53 name server. You can easily install boto as follows:
$ pip install boto
Before starting a name server connected to Amazon Route53, you should have a Route53 account set up and ready to receive requests. This is done through the AWS Console (http://console.aws.amazon.com/route53), by creating a new Hosted Zone to host your domain name.
After your Route53 account is set up, the name server can update Route53 records every time the view of the system changes.
To use the Name Server to update Amazon Route53, you should provide your AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. You can retrieve these from the AWS Console (http://console.aws.amazon.com/iam/), by looking under the security credentials of the username that you used while creating the Hosted Zone for your domain name. Once you have the information, you can set up Route53 configuration easily as follows:
$ concoord route53id [AWS_ACCESS_KEY_ID]
$ concoord route53key [AWS_SECRET_ACCESS_KEY]
Once you make sure that your Route53 account is set up and the configuration file includes your AWS credentials, you can start the replica with a name server as follows:
$ concoord replica -o concoord.object.counter.Counter -n counterdomain.com -r
When the replica starts running, you can send queries for counterdomain.com and see the most current set of nodes as follows:
$ dig -t a counterdomain.com # returns set of Replicas
$ dig -t srv _concoord._tcp.counterdomain.com # returns set of Replicas with ports
$ dig -t txt counterdomain.com # returns set of all nodes
$ dig -t ns counterdomain.com # returns set of name servers
Once you have a ConCoord instance running with your object, it is easy to access your object.
The proxy for the Counter object is also included in the distribution. You can import and use this proxy object in your code. Depending on how you set your name server up, you can access your object with the ipaddr:port pair or the domainname. In the example below, the ipaddr:port of both replica nodes are used. As a result, the client will be able to do method invocations on the object as long as one of the replicas is alive:
>>> from concoord.proxy.counter import Counter
>>> c = Counter("<IP_ADDRESS>:14000, <IP_ADDRESS>:14001")
>>> c.increment()
>>> c.increment()
>>> c.getvalue()
2
At any point to reinitialize an object after it is deployed on replicas, you should call __concoordinit__ function:
>>> from concoord.proxy.counter import Counter
>>> c = Counter("<IP_ADDRESS>:14000, <IP_ADDRESS>:14001")
>>> c.increment()
>>> c.__concoordinit__()
>>> c.increment()
>>> c.getvalue()
1


Lee Jin Hyuk in talks to make his acting debut in MBC's 'His Memorization Method' alongside Kim Dong Wook & Moon Ga Young
by beansssAccording to media outlet reports on November 12, UP10TION's Lee Jin Hyuk is currently in talks to make his acting debut!
Lee Jin Hyuk is currently discussing a supporting role in MBC's upcoming Wed-Thurs drama series, titled 'His Memorization Method'. Starring male lead Kim Dong Wook and female lead Moon Ga Young, the romance drama tells the story of a man with Hyperthymesia and his love story with a top actress.
'His Memorization Method' is set to air some time in March of next year. Do you want to see Lee Jin Hyuk making his acting debut?
[UPDATE] TOP Media has since confirmed Lee Jin Hyuk's appearance in MBC's 'His Memorization Method'.


Battery Buds
How to check the battery status on Echo Buds
by Jeramy JohnsonMost wireless earbuds will last a few hours in your ear on a single charge and can get more juice through their charging case. The problem we often have, however, is knowing how much power we have left at any given time on the go. The good news is that it's easy to check on how much battery life your Echo Buds have so you know when to top them up. We'll show you how below.
Products used in this guide
- Battery Buds: Amazon Echo Buds ($130 at Amazon)
How to check your Echo Buds battery status in app
- Open your Echo Buds case and put the Buds in your ears.
- Open the Alexa app, and notice the Echo Buds quick settings.
- The quick settings tile will display the battery percentage for the Left Bud, Right Bud, and Charging Case.
-
If you click on the quick settings tile to manage any of the Echo Buds other settings, the battery percentages will also be at the top of the Device Settings screen.
Source: Jeramy Johnson / Android Central
How to check your Echo Buds battery status with Alexa
- Take the Echo Buds out of their case and place them in your ears.
- Make sure you hear the audible tone that indicates they've paired with your phone.
- Ask Alexa "What is my battery status?"
- Alexa will then tell you the battery status of your Left Bud, Right Bud, and Charging Case.
See, we told you it was easy to check on the battery status of your Echo Buds! It's as simple as opening your Alexa app, or simply asking Alexa for the battery status.
Our top equipment picks
Now is a great time to pick up a pair of Echo Buds for yourself or a friend or loved one. Just make sure that you are subscribed to a great music streaming service that works with Alexa, such as Amazon Music or Spotify!
Best buds with Alexa
Echo Buds
Solid battery life
The Amazon Echo Buds have pretty solid battery life, with 4-5 hours per bud and an additional 20 hours with the case. Plus, they can stream major services like Amazon Music and Spotify with a simple Alexa command.
The Amazon Echo Buds can last hours on a single charge, and you can easily check the battery status of the buds on the go through your Alexa app or just by asking Alexa. Don't forget that you can also just as easily change the EQ settings or the touch control settings in the Alexa app as well!
Additional Equipment
You'll want to make sure you have access to all of your favorite songs through your Echo Buds, so we recommend starting with one of these top music services.
Amazon Music (From $8 per month at Amazon)
Amazon Music Unlimited offers over 40 million songs, special exclusives, and tailored playlists and stations.
Spotify (From $10 per month at Spotify)
Stream the world's most popular music service through your Amazon Echo Buds.
We may earn a commission for purchases using our links. Learn more.


Come and get your weekly improv fix with Improv Mondays at Obviouzly Armchair Backpackers and Pub! Tonight, we have the (almost) debut performance of 2-prov, Bearded Tracey! (Eva Gilliam & Steve Larter) This will... https://www.facebook.com/mamacityimprov/posts/623240218036165 …


Welcome to the Running Race
please press the button to start
runner1 :
0
/
100
runner2 :
0
/
100
runner3 :
0
/
100


Stdnet is an object data mapper and advanced query manager for non relational databases. Designed to be fast, memory efficient and highly customisable.


The +F Guest is a program that receives screen updates from a +F Emulator across a network, and sends back keypresses translated to Kempston joystick movements. This means that a user of the guest can participate in a two-player game, provided the game has Kempston joystick support (most have).
At present, controls are not redefinable and are fixed to the conventional ones below:
The Guest can also be controlled by the options in the menu bar at the top of the screen.


10.5 The dbhash Module
(Optional) The dbhash module provides a dbm-compatible interface to the
bsddb database
handler. Example 10-5 uses this module.
Example 10-5. Using the dbhash Module
File: dbhash-example-1.py
import dbhash
db = dbhash.open("dbhash", "c")
db["one"] = "the foot"
db["two"] = "the shoulder"
db["three"] = "the other foot"
db["four"] = "the bridge of the nose"
db["five"] = "the naughty bits"
db["six"] = "just above the elbow"
db["seven"] = "two inches to the right of a very naughty bit indeed"
db["eight"] = "the kneecap"
db.close()
db = dbhash.open("dbhash", "r")
for key in db.keys():
print repr(key), repr(db[key])
|


Aviation radiative forcing components. a Aviation as a percentage of total global radiative forcing (RF) due to human activities in the year 2011 relative to pre-industrial times, 2.29 (1.13–3.33) W m −2 (ref. 7). b Forcing components within the aviation fraction, of which aircraft-induced clouds (AIC) account for more than half. AIC and carbon dioxide (CO 2) estimates represent 2011 emission levels 10; the latter contribution has been obtained by extrapolating the year 2005 value 11 using the corresponding increase in scheduled air traffic distance (Table 7.SM.2 in ref. 10). RF estimates for all aviation components together for the same year and emission levels superseding 2005 values are not available 13. Aircraft emissions of nitrogen oxides (NO x) cause positive and negative RF contributions, values here calculated based on refs. 107, 139. Small direct RF contributions from aircraft water vapour 140 and particle emissions 14 together nearly cancel out and are therefore not shown. No scientific consensus has been reached regarding the sign of RF due to modification of natural clouds by particle emissions. Therefore, the RF caused by those ‘indirect’ effects is not considered here, but may be of opposite sign and as large as that of AIC. c Breakdown of AIC radiative forcing into contrail cirrus and persistent contrails based on ref. 10


Our high-clarity CR-39 Plus lenses include no-glare, scratch-resistant coatings with 100% UV protection. We recommend upgrading to our polycarbonate lenses for children or high-impact sports because of superior impact-resistance.
High quality polycarbonate lenses with no-glare and scratch-resistant treatments. Also includes UV protection.
Have a high prescription? Our high-index lens is similar to polycarbonate, but ensures you get the thinnest lens with high tensile strength for maximum durability.


5. Ridge and Lasso Regression¶
5.1. The singular value decomposition¶
The examples we have looked at so far are cases where we normally can invert the matrix \(\boldsymbol{X}^T\boldsymbol{X}\). Using a polynomial expansion as we did both for the masses and the fitting of the equation of state, leads to row vectors of the design matrix which are essentially orthogonal due to the polynomial character of our model. Obtaining the inverse of the design matrix is then often done via a so-called LU, QR or Cholesky decomposition.
This may however not the be case in general and a standard matrix inversion algorithm based on say LU, QR or Cholesky decomposition may lead to singularities. We will see examples of this below.
There is however a way to partially circumvent this problem and also gain some insights about the ordinary least squares approach, and later shrinkage methods like Ridge and Lasso regressions.
This is given by the Singular Value Decomposition algorithm, perhaps the most powerful linear algebra algorithm. Let us look at a different example where we may have problems with the standard matrix inversion algorithm. Thereafter we dive into the math of the SVD.
One of the typical problems we encounter with linear regression, in particular
when the matrix \(\boldsymbol{X}\) (our so-called design matrix) is high-dimensional,
are problems with near singular or singular matrices. The column vectors of \(\boldsymbol{X}\)
may be linearly dependent, normally referred to as super-collinearity.
This means that the matrix may be rank deficient and it is basically impossible to
to model the data using linear regression. As an example, consider the matrix
The columns of \(\boldsymbol{X}\) are linearly dependent. We see this easily since the the first column is the row-wise sum of the other two columns. The rank (more correct, the column rank) of a matrix is the dimension of the space spanned by the column vectors. Hence, the rank of \(\mathbf{X}\) is equal to the number of linearly independent columns. In this particular case the matrix has rank 2.
Super-collinearity of an \((n \times p)\)-dimensional design matrix \(\mathbf{X}\) implies that the inverse of the matrix \(\boldsymbol{X}^T\boldsymbol{X}\) (the matrix we need to invert to solve the linear regression equations) is non-invertible. If we have a square matrix that does not have an inverse, we say this matrix singular. The example here demonstrates this
We see easily that \(\mbox{det}(\boldsymbol{X}) = x_{11} x_{22} - x_{12} x_{21} = 1 \times (-1) - 1 \times (-1) = 0\). Hence, \(\mathbf{X}\) is singular and its inverse is undefined. This is equivalent to saying that the matrix \(\boldsymbol{X}\) has at least an eigenvalue which is zero.
If our design matrix \(\boldsymbol{X}\) which enters the linear regression problem
has linearly dependent column vectors, we will not be able to compute the inverse of \(\boldsymbol{X}^T\boldsymbol{X}\) and we cannot find the parameters (estimators) \(\beta_i\). The estimators are only well-defined if \((\boldsymbol{X}^{T}\boldsymbol{X})^{-1}\) exits. This is more likely to happen when the matrix \(\boldsymbol{X}\) is high-dimensional. In this case it is likely to encounter a situation where the regression parameters \(\beta_i\) cannot be estimated.
A cheap ad hoc approach is simply to add a small diagonal component to the matrix to invert, that is we change
where \(\boldsymbol{I}\) is the identity matrix. When we discuss Ridge regression this is actually what we end up evaluating. The parameter \(\lambda\) is called a hyperparameter. More about this later.
From standard linear algebra we know that a square matrix \(\boldsymbol{X}\) can be diagonalized if and only it is a so-called normal matrix, that is if \(\boldsymbol{X}\in {\mathbb{R}}^{n\times n}\) we have \(\boldsymbol{X}\boldsymbol{X}^T=\boldsymbol{X}^T\boldsymbol{X}\) or if \(\boldsymbol{X}\in {\mathbb{C}}^{n\times n}\) we have \(\boldsymbol{X}\boldsymbol{X}^{\dagger}=\boldsymbol{X}^{\dagger}\boldsymbol{X}\). The matrix has then a set of eigenpairs
and the eigenvalues are given by the diagonal matrix
The matrix \(\boldsymbol{X}\) can be written in terms of an orthogonal/unitary transformation \(\boldsymbol{U}\)
with \(\boldsymbol{U}\boldsymbol{U}^T=\boldsymbol{I}\) or \(\boldsymbol{U}\boldsymbol{U}^{\dagger}=\boldsymbol{I}\).
Not all square matrices are diagonalizable. A matrix like the one discussed above
is not diagonalizable, it is a so-called defective matrix. It is easy to see that the condition \(\boldsymbol{X}\boldsymbol{X}^T=\boldsymbol{X}^T\boldsymbol{X}\) is not fulfilled.
5.2. The SVD, a Fantastic Algorithm¶
However, and this is the strength of the SVD algorithm, any general matrix \(\boldsymbol{X}\) can be decomposed in terms of a diagonal matrix and two orthogonal/unitary matrices. The Singular Value Decompostion (SVD) theorem states that a general \(m\times n\) matrix \(\boldsymbol{X}\) can be written in terms of a diagonal matrix \(\boldsymbol{\Sigma}\) of dimensionality \(m\times n\) and two orthognal matrices \(\boldsymbol{U}\) and \(\boldsymbol{V}\), where the first has dimensionality \(m \times m\) and the last dimensionality \(n\times n\). We have then
As an example, the above defective matrix can be decomposed as
with eigenvalues \(\sigma_1=2\) and \(\sigma_2=0\). The SVD exits always!
The SVD decomposition (singular values) gives eigenvalues \(\sigma_i\geq\sigma_{i+1}\) for all \(i\) and for dimensions larger than \(i=p\), the eigenvalues (singular values) are zero.
In the general case, where our design matrix \(\boldsymbol{X}\) has dimension \(n\times p\), the matrix is thus decomposed into an \(n\times n\) orthogonal matrix \(\boldsymbol{U}\), a \(p\times p\) orthogonal matrix \(\boldsymbol{V}\) and a diagonal matrix \(\boldsymbol{\Sigma}\) with \(r=\mathrm{min}(n,p)\) singular values \(\sigma_i\geq 0\) on the main diagonal and zeros filling the rest of the matrix. There are at most \(p\) singular values assuming that \(n > p\). In our regression examples for the nuclear masses and the equation of state this is indeed the case, while for the Ising model we have \(p > n\). These are often cases that lead to near singular or singular matrices.
The columns of \(\boldsymbol{U}\) are called the left singular vectors while the columns of \(\boldsymbol{V}\) are the right singular vectors.
5.3. Economy-size SVD¶
If we assume that \(n > p\), then our matrix \(\boldsymbol{U}\) has dimension \(n \times n\). The last \(n-p\) columns of \(\boldsymbol{U}\) become however irrelevant in our calculations since they are multiplied with the zeros in \(\boldsymbol{\Sigma}\).
The economy-size decomposition removes extra rows or columns of zeros from the diagonal matrix of singular values, \(\boldsymbol{\Sigma}\), along with the columns in either \(\boldsymbol{U}\) or \(\boldsymbol{V}\) that multiply those zeros in the expression. Removing these zeros and columns can improve execution time and reduce storage requirements without compromising the accuracy of the decomposition.
If \(n > p\), we keep only the first \(p\) columns of \(\boldsymbol{U}\) and \(\boldsymbol{\Sigma}\) has dimension \(p\times p\). If \(p > n\), then only the first \(n\) columns of \(\boldsymbol{V}\) are computed and \(\boldsymbol{\Sigma}\) has dimension \(n\times n\). The \(n=p\) case is obvious, we retain the full SVD. In general the economy-size SVD leads to less FLOPS and still conserving the desired accuracy.
import numpy as np
# SVD inversion
def SVDinv(A):
''' Takes as input a numpy matrix A and returns inv(A) based on singular value decomposition (SVD).
SVD is numerically more stable than the inversion algorithms provided by
numpy and scipy.linalg at the cost of being slower.
'''
U, s, VT = np.linalg.svd(A)
# print('test U')
# print( (np.transpose(U) @ U - U @np.transpose(U)))
# print('test VT')
# print( (np.transpose(VT) @ VT - VT @np.transpose(VT)))
print(U)
print(s)
print(VT)
D = np.zeros((len(U),len(VT)))
for i in range(0,len(VT)):
D[i,i]=s[i]
UT = np.transpose(U); V = np.transpose(VT); invD = np.linalg.inv(D)
return np.matmul(V,np.matmul(invD,UT))
X = np.array([ [1.0, -1.0, 2.0], [1.0, 0.0, 1.0], [1.0, 2.0, -1.0], [1.0, 1.0, 0.0] ])
print(X)
A = np.transpose(X) @ X
print(A)
# Brute force inversion of super-collinear matrix
#B = np.linalg.inv(A)
#print(B)
C = SVDinv(A)
print(C)
[[ 1. -1. 2.]
[ 1. 0. 1.]
[ 1. 2. -1.]
[ 1. 1. 0.]]
[[ 4. 2. 2.]
[ 2. 6. -4.]
[ 2. -4. 6.]]
[[-1.18404906e-16 8.16496581e-01 -5.77350269e-01]
[-7.07106781e-01 4.08248290e-01 5.77350269e-01]
[ 7.07106781e-01 4.08248290e-01 5.77350269e-01]]
[1.00000000e+01 6.00000000e+00 9.10898112e-32]
[[ 3.33066907e-17 -7.07106781e-01 7.07106781e-01]
[ 8.16496581e-01 4.08248290e-01 4.08248290e-01]
[ 5.77350269e-01 -5.77350269e-01 -5.77350269e-01]]
[[-3.65939208e+30 3.65939208e+30 3.65939208e+30]
[ 3.65939208e+30 -3.65939208e+30 -3.65939208e+30]
[ 3.65939208e+30 -3.65939208e+30 -3.65939208e+30]]
The matrix \(\boldsymbol{X}\) has columns that are linearly dependent. The first column is the row-wise sum of the other two columns. The rank of a matrix (the column rank) is the dimension of space spanned by the column vectors. The rank of the matrix is the number of linearly independent columns, in this case just \(2\). We see this from the singular values when running the above code. Running the standard inversion algorithm for matrix inversion with \(\boldsymbol{X}^T\boldsymbol{X}\) results in the program terminating due to a singular matrix.
There are several interesting mathematical properties which will be relevant when we are going to discuss the differences between say ordinary least squares (OLS) and Ridge regression.
We have from OLS that the parameters of the linear approximation are given by
The matrix to invert can be rewritten in terms of our SVD decomposition as
Using the orthogonality properties of \(\boldsymbol{U}\) we have
with \(\boldsymbol{D}\) being a diagonal matrix with values along the diagonal given by the singular values squared.
This means that
that is the eigenvectors of \((\boldsymbol{X}^T\boldsymbol{X})\) are given by the columns of the right singular matrix of \(\boldsymbol{X}\) and the eigenvalues are the squared singular values. It is easy to show (show this) that
that is, the eigenvectors of \((\boldsymbol{X}\boldsymbol{X})^T\) are the columns of the left singular matrix and the eigenvalues are the same.
Going back to our OLS equation we have
We will come back to this expression when we discuss Ridge regression.
$\( \tilde{y}^{OLS}=\boldsymbol{X}\hat{\beta}^{OLS}=\sum_{j=1}^p \boldsymbol{u}_j\boldsymbol{u}_j^T\boldsymbol{y}\)$ and for Ridge we have
$\( \tilde{y}^{Ridge}=\boldsymbol{X}\hat{\beta}^{Ridge}=\sum_{j=1}^p \boldsymbol{u}_j\frac{\sigma_j^2}{\sigma_j^2+\lambda}\boldsymbol{u}_j^T\boldsymbol{y}\)$ .
It is indeed the economy-sized SVD, note the summation runs up tp $\(p\)\( only and not \)\(n\)$.
Here we have that $\(\boldsymbol{X} = \boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T\)\(, with \)\(\Sigma\)\( being an \)\( n\times p\)\( matrix and \)\(\boldsymbol{V}\)\( being a \)\( p\times p\)\( matrix. We also have assumed here that \)\( n > p\)$.
5.4. Ridge and LASSO Regression¶
Let us remind ourselves about the expression for the standard Mean Squared Error (MSE) which we used to define our cost function and the equations for the ordinary least squares (OLS) method, that is our optimization problem is
or we can state it as
where we have used the definition of a norm-2 vector, that is
By minimizing the above equation with respect to the parameters \(\boldsymbol{\beta}\) we could then obtain an analytical expression for the parameters \(\boldsymbol{\beta}\). We can add a regularization parameter \(\lambda\) by defining a new cost function to be optimized, that is
which leads to the Ridge regression minimization problem where we require that \(\vert\vert \boldsymbol{\beta}\vert\vert_2^2\le t\), where \(t\) is a finite number larger than zero. By defining
we have a new optimization equation
which leads to Lasso regression. Lasso stands for least absolute shrinkage and selection operator.
Here we have defined the norm-1 as
Using the matrix-vector expression for Ridge regression,
by taking the derivatives with respect to \(\boldsymbol{\beta}\) we obtain then a slightly modified matrix inversion problem which for finite values of \(\lambda\) does not suffer from singularity problems. We obtain
with \(\boldsymbol{I}\) being a \(p\times p\) identity matrix with the constraint that
with \(t\) a finite positive number.
We see that Ridge regression is nothing but the standard OLS with a modified diagonal term added to \(\boldsymbol{X}^T\boldsymbol{X}\). The consequences, in particular for our discussion of the bias-variance tradeoff are rather interesting.
Furthermore, if we use the result above in terms of the SVD decomposition (our analysis was done for the OLS method), we had
We can analyse the OLS solutions in terms of the eigenvectors (the columns) of the right singular value matrix \(\boldsymbol{U}\) as
For Ridge regression this becomes
with the vectors \(\boldsymbol{u}_j\) being the columns of \(\boldsymbol{U}\).
Since \(\lambda \geq 0\), it means that compared to OLS, we have
Ridge regression finds the coordinates of \(\boldsymbol{y}\) with respect to the orthonormal basis \(\boldsymbol{U}\), it then shrinks the coordinates by \(\frac{\sigma_j^2}{\sigma_j^2+\lambda}\). Recall that the SVD has eigenvalues ordered in a descending way, that is \(\sigma_i \geq \sigma_{i+1}\).
For small eigenvalues \(\sigma_i\) it means that their contributions become less important, a fact which can be used to reduce the number of degrees of freedom. Actually, calculating the variance of \(\boldsymbol{X}\boldsymbol{v}_j\) shows that this quantity is equal to \(\sigma_j^2/n\). With a parameter \(\lambda\) we can thus shrink the role of specific parameters.
For the sake of simplicity, let us assume that the design matrix is orthonormal, that is
In this case the standard OLS results in
and
that is the Ridge estimator scales the OLS estimator by the inverse of a factor \(1+\lambda\), and the Ridge estimator converges to zero when the hyperparameter goes to infinity.
We will come back to more interpreations after we have gone through some of the statistical analysis part.
For more discussions of Ridge and Lasso regression, Wessel van Wieringen’s article is highly recommended. Similarly, Mehta et al’s article is also recommended.
5.5. A better understanding of regularization¶
The parameter \(\lambda\) that we have introduced in the Ridge (and Lasso as well) regression is often called a regularization parameter or shrinkage parameter. It is common to call it a hyperparameter. What does it mean mathemtically?
Here we will first look at how to analyze the difference between the standard OLS equations and the Ridge expressions in terms of a linear algebra analysis using the SVD algorithm. Thereafter, we will link (see the material on the bias-variance tradeoff below) these observation to the statisical analysis of the results. In particular we consider how the variance of the parameters \(\boldsymbol{\beta}\) is affected by changing the parameter \(\lambda\).
We have our design matrix \(\boldsymbol{X}\in {\mathbb{R}}^{n\times p}\). With the SVD we decompose it as
with \(\boldsymbol{U}\in {\mathbb{R}}^{n\times n}\), \(\boldsymbol{\Sigma}\in {\mathbb{R}}^{n\times p}\) and \(\boldsymbol{V}\in {\mathbb{R}}^{p\times p}\).
The matrices \(\boldsymbol{U}\) and \(\boldsymbol{V}\) are unitary/orthonormal matrices, that is in case the matrices are real we have \(\boldsymbol{U}^T\boldsymbol{U}=\boldsymbol{U}\boldsymbol{U}^T=\boldsymbol{I}\) and \(\boldsymbol{V}^T\boldsymbol{V}=\boldsymbol{V}\boldsymbol{V}^T=\boldsymbol{I}\).
5.6. Introducing the Covariance and Correlation functions¶
Before we discuss the link between for example Ridge regression and the singular value decomposition, we need to remind ourselves about the definition of the covariance and the correlation function. These are quantities
Suppose we have defined two vectors \(\hat{x}\) and \(\hat{y}\) with \(n\) elements each. The covariance matrix \(\boldsymbol{C}\) is defined as
where for example
With this definition and recalling that the variance is defined as
we can rewrite the covariance matrix as
The covariance takes values between zero and infinity and may thus lead to problems with loss of numerical precision for particularly large values. It is common to scale the covariance matrix by introducing instead the correlation matrix defined via the so-called correlation function
The correlation function is then given by values \(\mathrm{corr}[\boldsymbol{x},\boldsymbol{y}] \in [-1,1]\). This avoids eventual problems with too large values. We can then define the correlation matrix for the two vectors \(\boldsymbol{x}\) and \(\boldsymbol{y}\) as
In the above example this is the function we constructed using pandas.
In our derivation of the various regression algorithms like Ordinary Least Squares or Ridge regression we defined the design/feature matrix \(\boldsymbol{X}\) as
with \(\boldsymbol{X}\in {\mathbb{R}}^{n\times p}\), with the predictors/features \(p\) refering to the column numbers and the entries \(n\) being the row elements. We can rewrite the design/feature matrix in terms of its column vectors as
with a given vector
With these definitions, we can now rewrite our \(2\times 2\) correaltion/covariance matrix in terms of a moe general design/feature matrix \(\boldsymbol{X}\in {\mathbb{R}}^{n\times p}\). This leads to a \(p\times p\) covariance matrix for the vectors \(\boldsymbol{x}_i\) with \(i=0,1,\dots,p-1\)
and the correlation matrix
The Numpy function np.cov calculates the covariance elements using the factor \(1/(n-1)\) instead of \(1/n\) since it assumes we do not have the exact mean values. The following simple function uses the np.vstack function which takes each vector of dimension \(1\times n\) and produces a \(2\times n\) matrix \(\boldsymbol{W}\)
which in turn is converted into into the \(2\times 2\) covariance matrix \(\boldsymbol{C}\) via the Numpy function np.cov(). We note that we can also calculate the mean value of each set of samples \(\boldsymbol{x}\) etc using the Numpy function np.mean(x). We can also extract the eigenvalues of the covariance matrix through the np.linalg.eig() function.
# Importing various packages
import numpy as np
n = 100
x = np.random.normal(size=n)
print(np.mean(x))
y = 4+3*x+np.random.normal(size=n)
print(np.mean(y))
W = np.vstack((x, y))
C = np.cov(W)
print(C)
-0.008885578722629236
3.7522047280566193
[[0.8520127 2.59480085]
[2.59480085 8.99218987]]
The previous example can be converted into the correlation matrix by simply scaling the matrix elements with the variances. We should also subtract the mean values for each column. This leads to the following code which sets up the correlations matrix for the previous example in a more brute force way. Here we scale the mean values for each column of the design matrix, calculate the relevant mean values and variances and then finally set up the \(2\times 2\) correlation matrix (since we have only two vectors).
import numpy as np
n = 100
# define two vectors
x = np.random.random(size=n)
y = 4+3*x+np.random.normal(size=n)
#scaling the x and y vectors
x = x - np.mean(x)
y = y - np.mean(y)
variance_x = np.sum(x@x)/n
variance_y = np.sum(y@y)/n
print(variance_x)
print(variance_y)
cov_xy = np.sum(x@y)/n
cov_xx = np.sum(x@x)/n
cov_yy = np.sum(y@y)/n
C = np.zeros((2,2))
C[0,0]= cov_xx/variance_x
C[1,1]= cov_yy/variance_y
C[0,1]= cov_xy/np.sqrt(variance_y*variance_x)
C[1,0]= C[0,1]
print(C)
0.06619182206626131
2.1914224774238273
[[1. 0.70589906]
[0.70589906 1. ]]
We see that the matrix elements along the diagonal are one as they should be and that the matrix is symmetric. Furthermore, diagonalizing this matrix we easily see that it is a positive definite matrix.
The above procedure with numpy can be made more compact if we use pandas.
We whow here how we can set up the correlation matrix using pandas, as done in this simple code
import numpy as np
import pandas as pd
n = 10
x = np.random.normal(size=n)
x = x - np.mean(x)
y = 4+3*x+np.random.normal(size=n)
y = y - np.mean(y)
X = (np.vstack((x, y))).T
print(X)
Xpd = pd.DataFrame(X)
print(Xpd)
correlation_matrix = Xpd.corr()
print(correlation_matrix)
[[ 0.03067028 0.91697817]
[-0.10806972 -2.26381865]
[ 0.69519693 3.02968834]
[-0.07521771 -0.93273404]
[-0.25910749 -0.58239999]
[ 0.25450941 0.36941772]
[-1.65002433 -6.09672604]
[ 0.58596975 2.19955871]
[ 0.54121682 2.30685416]
[-0.01514394 1.05318162]]
0 1
0 0.030670 0.916978
1 -0.108070 -2.263819
2 0.695197 3.029688
3 -0.075218 -0.932734
4 -0.259107 -0.582400
5 0.254509 0.369418
6 -1.650024 -6.096726
7 0.585970 2.199559
8 0.541217 2.306854
9 -0.015144 1.053182
0 1
0 1.000000 0.948729
1 0.948729 1.000000
We expand this model to the Franke function discussed above.
# Common imports
import numpy as np
import pandas as pd
def FrankeFunction(x,y):
term1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))
term2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))
term3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))
term4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)
return term1 + term2 + term3 + term4
def create_X(x, y, n ):
if len(x.shape) > 1:
x = np.ravel(x)
y = np.ravel(y)
N = len(x)
l = int((n+1)*(n+2)/2) # Number of elements in beta
X = np.ones((N,l))
for i in range(1,n+1):
q = int((i)*(i+1)/2)
for k in range(i+1):
X[:,q+k] = (x**(i-k))*(y**k)
return X
# Making meshgrid of datapoints and compute Franke's function
n = 4
N = 100
x = np.sort(np.random.uniform(0, 1, N))
y = np.sort(np.random.uniform(0, 1, N))
z = FrankeFunction(x, y)
X = create_X(x, y, n=n)
Xpd = pd.DataFrame(X)
# subtract the mean values and set up the covariance matrix
Xpd = Xpd - Xpd.mean()
covariance_matrix = Xpd.cov()
print(covariance_matrix)
0 1 2 3 4 5 6 7 \
0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.0 0.082990 0.084167 0.081514 0.081402 0.081260 0.071681 0.071684
2 0.0 0.084167 0.086116 0.083128 0.083376 0.083577 0.073602 0.073851
3 0.0 0.081514 0.083128 0.084873 0.085285 0.085676 0.077469 0.077891
4 0.0 0.081402 0.083376 0.085285 0.085951 0.086592 0.078311 0.078930
5 0.0 0.081260 0.083577 0.085676 0.086592 0.087482 0.079139 0.079956
6 0.0 0.071681 0.073602 0.077469 0.078311 0.079139 0.072620 0.073372
7 0.0 0.071684 0.073851 0.077891 0.078930 0.079956 0.073372 0.074286
8 0.0 0.071761 0.074170 0.078388 0.079624 0.080845 0.074191 0.075266
9 0.0 0.071917 0.074568 0.078966 0.080398 0.081816 0.075084 0.076320
10 0.0 0.062188 0.064304 0.069005 0.070131 0.071248 0.065994 0.066963
11 0.0 0.062376 0.064686 0.069528 0.070815 0.072094 0.066761 0.067865
12 0.0 0.062639 0.065144 0.070129 0.071579 0.073020 0.067601 0.068840
13 0.0 0.062979 0.065680 0.070812 0.072424 0.074027 0.068514 0.069890
14 0.0 0.063395 0.066294 0.071576 0.073352 0.075119 0.069503 0.071016
8 9 10 11 12 13 14
0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.071761 0.071917 0.062188 0.062376 0.062639 0.062979 0.063395
2 0.074170 0.074568 0.064304 0.064686 0.065144 0.065680 0.066294
3 0.078388 0.078966 0.069005 0.069528 0.070129 0.070812 0.071576
4 0.079624 0.080398 0.070131 0.070815 0.071579 0.072424 0.073352
5 0.080845 0.081816 0.071248 0.072094 0.073020 0.074027 0.075119
6 0.074191 0.075084 0.065994 0.066761 0.067601 0.068514 0.069503
7 0.075266 0.076320 0.066963 0.067865 0.068840 0.069890 0.071016
8 0.076408 0.077623 0.067990 0.069028 0.070138 0.071325 0.072589
9 0.077623 0.079001 0.069081 0.070254 0.071502 0.072826 0.074230
10 0.067990 0.069081 0.060919 0.061842 0.062829 0.063882 0.065003
11 0.069028 0.070254 0.061842 0.062879 0.063982 0.065151 0.066389
12 0.070138 0.071502 0.062829 0.063982 0.065200 0.066487 0.067844
13 0.071325 0.072826 0.063882 0.065151 0.066487 0.067892 0.069369
14 0.072589 0.074230 0.065003 0.066389 0.067844 0.069369 0.070967
We note here that the covariance is zero for the first rows and columns since all matrix elements in the design matrix were set to one (we are fitting the function in terms of a polynomial of degree \(n\)).
This means that the variance for these elements will be zero and will cause problems when we set up the correlation matrix. We can simply drop these elements and construct a correlation matrix without these elements.
We can rewrite the covariance matrix in a more compact form in terms of the design/feature matrix \(\boldsymbol{X}\) as
To see this let us simply look at a design matrix \(\boldsymbol{X}\in {\mathbb{R}}^{2\times 2}\)
If we then compute the expectation value
which is just
where we wrote $\(\boldsymbol{C}[\boldsymbol{x}_0,\boldsymbol{x}_1] = \boldsymbol{C}[\boldsymbol{x}]\)\( to indicate that this the covariance of the vectors \)\boldsymbol{x}\( of the design/feature matrix \)\boldsymbol{X}$.
It is easy to generalize this to a matrix \(\boldsymbol{X}\in {\mathbb{R}}^{n\times p}\).


Here at Vitos pizza, we are committed to offering the best quality pizza all across the country.
With delivery right at the comfort of your home you do not have to set a single step outside your house.
How fast do you want it? you can get it within 30 minutes, irregardless of your location.
Delivery has never been simpler!!.


Overview (Residential)
Street View
Top 10 Largest Houses
Top 10 Expensive Houses
Types of Houses
Histogram of Price per Square Metre
Scatterplot of Price Versus Size
Cumulative Chart of Buildings Built


Born in 1996, I am interested in Visual Arts. While studying Filmmaking in the UK I am working as a freelancer photographer and producing commercials, social media promotions, music videos and visual political commentary.
My latest works include Deaf and promotion content for the Theatre and Performance Festival Short Theatre.
You can contct he using the handles below


{% extends "layout.html" %} {% block title %}Verify Your Account{% endblock %} {% block content %}
Further instructions have been sent to your email. Follow them to finish setting up your account.


Berbagi Tiket
Back
Back
menu
Contact Information
Choose your Title
Mr.
Mrs.
Ms.
Title
First Name
Last Name
email
Email
phone
Telephone
date_range
Birthdate
info
Airline
info
Flight Number
info
Price
Choose your payment method
Transfer
Credit Card
Paypal
Payment Methods
Submit


--- layout: post title: Marketing for Agile Systems date: 2011-03-25 22:35:46.000000000 -07:00 categories: - technical-writing tags: - Notes status: draft type: post published: false ---
With agile development, you may release an immature product that you intend to improve over a series of short iterations. As such, although you released the product, you don't want to market it yet.
Good content is passed around through tweets, facebook posts, and other links. It doesn't necessarily need a central location that people visit regularly. The social media channels allow the content to live in the ether.
Good content brings together multiple perspectives -- vita. This is similar to Bakhtin's diglossia, only instead of voices, it's with formats.
If your product is agile, your marketing method needs to also be agile. If you take 2 months to create a screencast, by the time you finish it, it's already out of date. Your marketing model needs to be light.
Almost nothing has gone viral that is text alone.
This is an age of content -- content is everywhere. I like the idea of multi-modal content. An interview with someone, a video, a screencast, an infographic. Mix it up. That might be a fun strategy. Don't just stick with words.
Whatever information mechanisms you have in place, you need to be able to change them quickly, on the fly, with little notice. This ability to update information rapidly characterizes the agile method. But also, you can adopt the same agile methods -- testing your content a bit and making adjustments. Your marketing campaign doesn't need to be set in stone a year in advance.
------------------


_The_Astronaut's_Wife_ (R) ** (out of ****)
New Line opted to not screen in advance for critics this once-high-profile sci-fi thriller, but the film is far from the flat-out disaster that decision would imply. In fact, there is a lot of merit on display here, not the least of which is that of the terrific lead performance of Charlize Theron, who once again proves to be the real deal actingwise. She plays the title character, whose world becomes increasingly nighmarish after her husband (Johnny Depp) returns from an accident-plagued space mission. Something is not quite right with him, and neither are his unborn twins that she is carrying. For a first-time director, Rand Ravich displays a strong sense of visual style as well as a command of mood, for an atmosphere of dread is ominously felt throughout the picture.
However, it turns out that Ravich has no idea what exactly the dread is leading up to. He is also a first-time writer, and his inexperience shows. All the stylish visuals in the world cannot hide the fact that the film's story simply does not add up, leaving tons more questions than answers in its incredibly unsatisfying wrapup. One such question is that of the miscast Depp's (alas, "evil" is beyond this good actor's range) involvement in this picture, other than the obvious (i.e., an easy paycheck). Theron and Ravich's style keeps one watching, but by the conclusion one may wish one hadn't.
Michael Dequina<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>Mr. Brown's Movie Site: http://welcome.to/mrbrown CompuServe Hollywood Hotline: http://www.HollywoodHotline.com on ICQ: #25289934 | on AOL Instant Messenger: MrBrown23
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


pdfpun(1) pdfpun(1) NAME pdfpun - n-up the pages of a pdf file, with right-to-left ordering SYNOPSIS pdfpun SRC [PAGESPEC] --outfile FILENAME [OPTION [OPTION] ...] DESCRIPTION pdfpun converts a file in the Adobe Portable Document Format (PDF) to a "n-up" PDF file, that is, with multiple input pages per output page, for more economical printing etc. The pages are ordered right-to-left in the output. The default processing is to 2-up landscape output with no frame around pages, equivalent to using the options '--nup 2x1 --landscape --frame false'. SRC must be a PDF file; '/dev/stdin' can be used for PDF input via a pipeline. If PAGESPEC is omitted, all pages are processed (equivalent to '-' as PAGESPEC) OPTION is any option of pdfjam(1) other than --batch. pdfpun is a simple wrapper for pdfjam, which provides a front end to many of the capabilities of the pdfpages package for pdflatex. A working installation of pdflatex, with the pdfpages package, is required. pdfpun is part of the "PDFjam" package of tools, whose homepage is at http://www.warwick.ac.uk/go/pdfjam. SETUP See http://go.warwick.ac.uk/pdfjam . USAGE For the available options and site/user defaults, see the output of pdfjam --help For further information and some examples see http://go.war‐ wick.ac.uk/pdfjam . LIMITATIONS AND BUGS pdfpun does not work with encrypted PDF files, and does not preserve hyperlinks. The '--keepinfo' option does not work. Please report bugs! See the website at http://www.warwick.ac.uk/go/pdfjam . LICENSE PDFjam is distributed under the GNU public license. SEE ALSO pdfjam(1) pdfnup(1). AUTHOR pdfpun is written and maintained by David Firth as part of the PDFjam package. 10 March 2010 pdfpun(1)


| Package | Description |
|---|---|
| org.lwjgl | |
| org.lwjgl.opencl | |
| org.lwjgl.opengl |
| Modifier and Type | Method and Description |
|---|---|
static PointerBuffer |
PointerBuffer.allocateDirect(int capacity)
Allocates a new pointer buffer.
|
PointerBuffer |
PointerBuffer.asReadOnlyBuffer()
Creates a new, read-only pointer buffer that shares this buffer's
content.
|
PointerBuffer |
PointerBuffer.clear()
Clears this buffer.
|
PointerBuffer |
PointerBuffer.compact()
Compacts this buffer (optional operation).
|
static PointerBuffer |
BufferUtils.createPointerBuffer(int size)
Construct a PointerBuffer with the specified number
of elements.
|
PointerBuffer |
PointerBuffer.duplicate()
Creates a new pointer buffer that shares this buffer's content.
|
PointerBuffer |
PointerBuffer.flip()
Flips this buffer.
|
PointerBuffer |
PointerBuffer.get(long[] dst)
Relative bulk get method.
|
PointerBuffer |
PointerBuffer.get(long[] dst,
int offset,
int length)
Relative bulk get method.
|
PointerBuffer |
PointerBuffer.limit(int newLimit)
Sets this buffer's limit.
|
PointerBuffer |
PointerBuffer.mark()
Sets this buffer's mark at its position.
|
protected PointerBuffer |
PointerBuffer.newInstance(java.nio.ByteBuffer source)
This method is used in slice and duplicate instead of normal object construction,
so that subclasses can return themselves.
|
PointerBuffer |
PointerBuffer.position(int newPosition)
Sets this buffer's position.
|
PointerBuffer |
PointerBuffer.put(int index,
long l)
Absolute put method (optional operation).
|
PointerBuffer |
PointerBuffer.put(int index,
PointerWrapper pointer)
Convenience put that accepts PointerWrapper objects.
|
PointerBuffer |
PointerBuffer.put(long l)
Relative put method (optional operation).
|
PointerBuffer |
PointerBuffer.put(long[] src)
Relative bulk put method (optional operation).
|
PointerBuffer |
PointerBuffer.put(long[] src,
int offset,
int length)
Relative bulk put method (optional operation).
|
PointerBuffer |
PointerBuffer.put(PointerBuffer src)
Relative bulk put method (optional operation).
|
PointerBuffer |
PointerBuffer.put(PointerWrapper pointer)
Convenience put that accepts PointerWrapper objects.
|
PointerBuffer |
PointerBuffer.reset()
Resets this buffer's position to the previously-marked position.
|
PointerBuffer |
PointerBuffer.rewind()
Rewinds this buffer.
|
PointerBuffer |
PointerBuffer.slice()
Creates a new pointer buffer whose content is a shared subsequence of
this buffer's content.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
BufferChecks.checkBuffer(PointerBuffer buf,
int size) |
static void |
BufferChecks.checkDirect(PointerBuffer buf) |
static void |
BufferChecks.checkNullTerminated(PointerBuffer buf)
Helper method to ensure a PointerBuffer is null-terminated
|
static long |
MemoryUtil.getAddress(PointerBuffer buffer) |
static long |
MemoryUtil.getAddress(PointerBuffer buffer,
int position) |
static long |
MemoryUtil.getAddress0(PointerBuffer buffer) |
static long |
MemoryUtil.getAddress0Safe(PointerBuffer buffer) |
static long |
MemoryUtil.getAddressSafe(PointerBuffer buffer) |
static long |
MemoryUtil.getAddressSafe(PointerBuffer buffer,
int position) |
PointerBuffer |
PointerBuffer.put(PointerBuffer src)
Relative bulk put method (optional operation).
|
| Modifier and Type | Method and Description |
|---|---|
static int |
CL10.clBuildProgram(CLProgram program,
PointerBuffer device_list,
java.nio.ByteBuffer options,
CLBuildProgramCallback pfn_notify) |
static int |
CL10.clBuildProgram(CLProgram program,
PointerBuffer device_list,
java.lang.CharSequence options,
CLBuildProgramCallback pfn_notify)
Overloads clBuildProgram.
|
static int |
CL12.clCompileProgram(CLProgram program,
PointerBuffer device_list,
java.nio.ByteBuffer options,
PointerBuffer input_headers,
java.nio.ByteBuffer[] header_include_names,
CLCompileProgramCallback pfn_notify)
Overloads clCompileProgram.
|
static int |
CL12.clCompileProgram(CLProgram program,
PointerBuffer device_list,
java.nio.ByteBuffer options,
PointerBuffer input_header,
java.nio.ByteBuffer header_include_name,
CLCompileProgramCallback pfn_notify)
Single null-terminated header include name.
|
static int |
CL12.clCompileProgram(CLProgram program,
PointerBuffer device_list,
java.lang.CharSequence options,
PointerBuffer input_header,
java.lang.CharSequence[] header_include_name,
CLCompileProgramCallback pfn_notify)
Overloads clCompileProgram.
|
static int |
CL12.clCompileProgram(CLProgram program,
PointerBuffer device_list,
java.lang.CharSequence options,
PointerBuffer input_header,
java.lang.CharSequence header_include_name,
CLCompileProgramCallback pfn_notify)
Overloads clCompileProgram.
|
static int |
CL12.clCompileProgramMulti(CLProgram program,
PointerBuffer device_list,
java.nio.ByteBuffer options,
PointerBuffer input_headers,
java.nio.ByteBuffer header_include_names,
CLCompileProgramCallback pfn_notify)
Overloads clCompileProgram.
|
static CLContext |
CL10.clCreateContext(PointerBuffer properties,
CLDevice device,
CLContextCallback pfn_notify,
java.nio.IntBuffer errcode_ret)
Overloads clCreateContext.
|
static CLContext |
CL10.clCreateContext(PointerBuffer properties,
PointerBuffer devices,
CLContextCallback pfn_notify,
java.nio.IntBuffer errcode_ret)
LWJGL requires CL_CONTEXT_PLATFORM to be present in the cl_context_properties buffer.
|
static CLContext |
CL10.clCreateContextFromType(PointerBuffer properties,
long device_type,
CLContextCallback pfn_notify,
java.nio.IntBuffer errcode_ret)
LWJGL requires CL_CONTEXT_PLATFORM to be present in the cl_context_properties buffer.
|
static int |
CL10.clCreateKernelsInProgram(CLProgram program,
PointerBuffer kernels,
java.nio.IntBuffer num_kernels_ret) |
static CLProgram |
CL10.clCreateProgramWithBinary(CLContext context,
PointerBuffer device_list,
java.nio.ByteBuffer[] binaries,
java.nio.IntBuffer binary_status,
java.nio.IntBuffer errcode_ret)
Overloads clCreateProgramWithBinary.
|
static CLProgram |
CL10.clCreateProgramWithBinary(CLContext context,
PointerBuffer device_list,
PointerBuffer lengths,
java.nio.ByteBuffer binaries,
java.nio.IntBuffer binary_status,
java.nio.IntBuffer errcode_ret)
Overloads clCreateProgramWithBinary.
|
static CLProgram |
CL12.clCreateProgramWithBuiltInKernels(CLContext context,
PointerBuffer device_list,
java.nio.ByteBuffer kernel_names,
java.nio.IntBuffer errcode_ret) |
static CLProgram |
CL12.clCreateProgramWithBuiltInKernels(CLContext context,
PointerBuffer device_list,
java.lang.CharSequence kernel_names,
java.nio.IntBuffer errcode_ret)
Overloads clCreateProgramWithBuiltInKernels.
|
static CLProgram |
CL10.clCreateProgramWithSource(CLContext context,
java.nio.ByteBuffer strings,
PointerBuffer lengths,
java.nio.IntBuffer errcode_ret)
Overloads clCreateProgramWithSource.
|
static int |
CL12.clCreateSubDevices(CLDevice in_device,
java.nio.LongBuffer properties,
PointerBuffer out_devices,
java.nio.IntBuffer num_devices_ret) |
static int |
EXTDeviceFission.clCreateSubDevicesEXT(CLDevice in_device,
java.nio.LongBuffer properties,
PointerBuffer out_devices,
java.nio.IntBuffer num_devices) |
static int |
CL10GL.clEnqueueAcquireGLObjects(CLCommandQueue command_queue,
CLMem mem_object,
PointerBuffer event_wait_list,
PointerBuffer event)
Overloads clEnqueueAcquireGLObjects.
|
static int |
CL10GL.clEnqueueAcquireGLObjects(CLCommandQueue command_queue,
PointerBuffer mem_objects,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL12.clEnqueueBarrierWithWaitList(CLCommandQueue command_queue,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueCopyBuffer(CLCommandQueue command_queue,
CLMem src_buffer,
CLMem dst_buffer,
long src_offset,
long dst_offset,
long size,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueCopyBufferRect(CLCommandQueue command_queue,
CLMem src_buffer,
CLMem dst_buffer,
PointerBuffer src_origin,
PointerBuffer dst_origin,
PointerBuffer region,
long src_row_pitch,
long src_slice_pitch,
long dst_row_pitch,
long dst_slice_pitch,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueCopyBufferToImage(CLCommandQueue command_queue,
CLMem src_buffer,
CLMem dst_image,
long src_offset,
PointerBuffer dst_origin,
PointerBuffer region,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueCopyImage(CLCommandQueue command_queue,
CLMem src_image,
CLMem dst_image,
PointerBuffer src_origin,
PointerBuffer dst_origin,
PointerBuffer region,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueCopyImageToBuffer(CLCommandQueue command_queue,
CLMem src_image,
CLMem dst_buffer,
PointerBuffer src_origin,
PointerBuffer region,
long dst_offset,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL12.clEnqueueFillBuffer(CLCommandQueue command_queue,
CLMem buffer,
java.nio.ByteBuffer pattern,
long offset,
long size,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL12.clEnqueueFillImage(CLCommandQueue command_queue,
CLMem image,
java.nio.ByteBuffer fill_color,
PointerBuffer origin,
PointerBuffer region,
PointerBuffer event_wait_list,
PointerBuffer event) |
static java.nio.ByteBuffer |
CL10.clEnqueueMapBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_map,
long map_flags,
long offset,
long size,
PointerBuffer event_wait_list,
PointerBuffer event,
java.nio.IntBuffer errcode_ret) |
static java.nio.ByteBuffer |
CL10.clEnqueueMapImage(CLCommandQueue command_queue,
CLMem image,
int blocking_map,
long map_flags,
PointerBuffer origin,
PointerBuffer region,
PointerBuffer image_row_pitch,
PointerBuffer image_slice_pitch,
PointerBuffer event_wait_list,
PointerBuffer event,
java.nio.IntBuffer errcode_ret) |
static int |
CL10.clEnqueueMarker(CLCommandQueue command_queue,
PointerBuffer event) |
static int |
CL12.clEnqueueMarkerWithWaitList(CLCommandQueue command_queue,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
EXTMigrateMemobject.clEnqueueMigrateMemObjectEXT(CLCommandQueue command_queue,
CLMem mem_object,
long flags,
PointerBuffer event_wait_list,
PointerBuffer event)
Overloads clEnqueueMigrateMemObjectEXT.
|
static int |
EXTMigrateMemobject.clEnqueueMigrateMemObjectEXT(CLCommandQueue command_queue,
PointerBuffer mem_objects,
long flags,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL12.clEnqueueMigrateMemObjects(CLCommandQueue command_queue,
PointerBuffer mem_objects,
long flags,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueNativeKernel(CLCommandQueue command_queue,
CLNativeKernel user_func,
CLMem[] mem_list,
long[] sizes,
PointerBuffer event_wait_list,
PointerBuffer event)
Enqueues a native kernel to the specified command queue.
|
static int |
CL10.clEnqueueNDRangeKernel(CLCommandQueue command_queue,
CLKernel kernel,
int work_dim,
PointerBuffer global_work_offset,
PointerBuffer global_work_size,
PointerBuffer local_work_size,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.DoubleBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.LongBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
long offset,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.DoubleBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.LongBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueReadBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_read,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadImage(CLCommandQueue command_queue,
CLMem image,
int blocking_read,
PointerBuffer origin,
PointerBuffer region,
long row_pitch,
long slice_pitch,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadImage(CLCommandQueue command_queue,
CLMem image,
int blocking_read,
PointerBuffer origin,
PointerBuffer region,
long row_pitch,
long slice_pitch,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadImage(CLCommandQueue command_queue,
CLMem image,
int blocking_read,
PointerBuffer origin,
PointerBuffer region,
long row_pitch,
long slice_pitch,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueReadImage(CLCommandQueue command_queue,
CLMem image,
int blocking_read,
PointerBuffer origin,
PointerBuffer region,
long row_pitch,
long slice_pitch,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10GL.clEnqueueReleaseGLObjects(CLCommandQueue command_queue,
CLMem mem_object,
PointerBuffer event_wait_list,
PointerBuffer event)
Overloads clEnqueueReleaseGLObjects.
|
static int |
CL10GL.clEnqueueReleaseGLObjects(CLCommandQueue command_queue,
PointerBuffer mem_objects,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueTask(CLCommandQueue command_queue,
CLKernel kernel,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueUnmapMemObject(CLCommandQueue command_queue,
CLMem memobj,
java.nio.ByteBuffer mapped_ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWaitForEvents(CLCommandQueue command_queue,
PointerBuffer event_list) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.DoubleBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.LongBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteBuffer(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
long offset,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.DoubleBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.LongBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL11.clEnqueueWriteBufferRect(CLCommandQueue command_queue,
CLMem buffer,
int blocking_write,
PointerBuffer buffer_offset,
PointerBuffer host_offset,
PointerBuffer region,
long buffer_row_pitch,
long buffer_slice_pitch,
long host_row_pitch,
long host_slice_pitch,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteImage(CLCommandQueue command_queue,
CLMem image,
int blocking_write,
PointerBuffer origin,
PointerBuffer region,
long input_row_pitch,
long input_slice_pitch,
java.nio.ByteBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteImage(CLCommandQueue command_queue,
CLMem image,
int blocking_write,
PointerBuffer origin,
PointerBuffer region,
long input_row_pitch,
long input_slice_pitch,
java.nio.FloatBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteImage(CLCommandQueue command_queue,
CLMem image,
int blocking_write,
PointerBuffer origin,
PointerBuffer region,
long input_row_pitch,
long input_slice_pitch,
java.nio.IntBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clEnqueueWriteImage(CLCommandQueue command_queue,
CLMem image,
int blocking_write,
PointerBuffer origin,
PointerBuffer region,
long input_row_pitch,
long input_slice_pitch,
java.nio.ShortBuffer ptr,
PointerBuffer event_wait_list,
PointerBuffer event) |
static int |
CL10.clGetCommandQueueInfo(CLCommandQueue command_queue,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetContextInfo(CLContext context,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetDeviceIDs(CLPlatform platform,
long device_type,
PointerBuffer devices,
java.nio.IntBuffer num_devices) |
static int |
CL10.clGetDeviceInfo(CLDevice device,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetEventInfo(CLEvent event,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetEventProfilingInfo(CLEvent event,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
APPLEGLSharing.clGetGLContextInfoAPPLE(CLContext context,
PointerBuffer platform_gl_ctx,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
KHRGLSharing.clGetGLContextInfoKHR(PointerBuffer properties,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10GL.clGetGLTextureInfo(CLMem memobj,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetImageInfo(CLMem image,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL12.clGetKernelArgInfo(CLKernel kernel,
int arg_indx,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetKernelInfo(CLKernel kernel,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
KHRSubgroups.clGetKernelSubGroupInfoKHR(CLKernel kernel,
CLDevice device,
int param_name,
java.nio.ByteBuffer input_value,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetKernelWorkGroupInfo(CLKernel kernel,
CLDevice device,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetMemObjectInfo(CLMem memobj,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetPlatformIDs(PointerBuffer platforms,
java.nio.IntBuffer num_platforms) |
static int |
CL10.clGetPlatformInfo(CLPlatform platform,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetProgramBuildInfo(CLProgram program,
CLDevice device,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetProgramInfo(CLProgram program,
java.nio.ByteBuffer[] param_value,
PointerBuffer param_value_size_ret)
Overloads clGetProgramInfo.
|
static int |
CL10.clGetProgramInfo(CLProgram program,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
CL10.clGetProgramInfo(CLProgram program,
PointerBuffer sizes,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret)
Overloads clGetProgramInfo.
|
static int |
CL10.clGetSamplerInfo(CLSampler sampler,
int param_name,
java.nio.ByteBuffer param_value,
PointerBuffer param_value_size_ret) |
static int |
KHRICD.clIcdGetPlatformIDsKHR(PointerBuffer platforms,
java.nio.IntBuffer num_platforms) |
static CLProgram |
CL12.clLinkProgram(CLContext context,
PointerBuffer device_list,
java.nio.ByteBuffer options,
PointerBuffer input_programs,
CLLinkProgramCallback pfn_notify,
java.nio.IntBuffer errcode_ret) |
static CLProgram |
CL12.clLinkProgram(CLContext context,
PointerBuffer device_list,
java.lang.CharSequence options,
PointerBuffer input_programs,
CLLinkProgramCallback pfn_notify,
java.nio.IntBuffer errcode_ret)
Overloads clLinkProgram.
|
static int |
CL10.clWaitForEvents(PointerBuffer event_list) |
| Modifier and Type | Method and Description |
|---|---|
static void |
ARBMultiBind.glBindBuffersRange(int target,
int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
PointerBuffer sizes) |
static void |
GL44.glBindBuffersRange(int target,
int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
PointerBuffer sizes) |
static void |
ARBMultiBind.glBindVertexBuffers(int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
java.nio.IntBuffer strides) |
static void |
GL44.glBindVertexBuffers(int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
java.nio.IntBuffer strides) |
static void |
ARBDirectStateAccess.glVertexArrayVertexBuffers(int vaobj,
int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
java.nio.IntBuffer strides) |
static void |
GL45.glVertexArrayVertexBuffers(int vaobj,
int first,
int count,
java.nio.IntBuffer buffers,
PointerBuffer offsets,
java.nio.IntBuffer strides) |
void |
AWTGLCanvas.setCLSharingProperties(PointerBuffer properties) |
void |
Drawable.setCLSharingProperties(PointerBuffer properties)
Sets the appropriate khr_gl_sharing properties in the target
PointerBuffer ,
so that if it is used in a clCreateContext(FromType) call, the created CL
context will be sharing objects with this Drawable 's GL context. |
Copyright © 2002-2010 lwjgl.org. All Rights Reserved.


joe code
`Prev `__
J
`Next `__
--------------
**joe code**: /joh´ kohd\`/, n.
1. Code that is overly `*tense* <../T/tense.html>`__ and unmaintainable.
“\ `*Perl* <../P/Perl.html>`__ may be a handy program, but if you look
at the source, it's complete joe code.”
2. Badly written, possibly buggy code.
Correspondents wishing to remain anonymous have fingered a particular
Joe at the Lawrence Berkeley Laboratory and observed that usage has
drifted slightly; the original sobriquet ‘Joe code’ was intended in
sense 1.
1994 update: This term has now generalized to ‘ code’, used to
designate code with distinct characteristics traceable to its author.
“This section doesn't check for a NULL return from malloc()! Oh. No
wonder! It's Ed code!”. Used most often with a programmer who has left
the shop and thus is a convenient scapegoat for anything that is wrong
with the project.
--------------
+-------------------------+----------------------------+----------------------------+
| `Prev `__ | `Up <../J.html>`__ | `Next `__ |
+-------------------------+----------------------------+----------------------------+
| jock | `Home <../index.html>`__ | joe-job |
+-------------------------+----------------------------+----------------------------+


Creative polyglot software engineer with 5+ years of broad expertise in the areas of API development, end development and Machine learning. Eager to learn and master machine learning with expert knowledge in Full stack development and API development.
Course covers advanced topics in Machine learning and Deep learning like Natural Language Processing, Image Processing, Reinforcement Learning, Information Retrieval, Large Scale Data Analytics, Agents and Multi-agents Systems and Data Visualization.
Data Structures, Advance Java, C++, Web Semantics, Human Resource Management, Ethics and Values, Spanish 101, Software design and development, Software construction and maintenance, Programming in Java


Examples for dropzone knockout binding
Dropzone is a JavaScript libruary for files uploading:
Dropzone
Simple file upload with call back after upload


What even is this app? How do I use it? Why would I?
Playlisted:
Verb
To find the soundtrack of your life.
Playlisted is a music application that allows its users to discover and create the perfect playlist to fit their mood/activity level! Your first step towards finding the playlist of your dreams is to sign up for an account.
After you've joined the Playlisted community, you will be presented with a simple personality quiz that will help design a playlist with you in mind. Don't like what you hear? Change it and rearrange it! Our app gives users the ability
to customize their playlists with ease. Once you have found the perfect fit, save your playlist and listen on!


Welcome to IMRCP. Please login to access the system.
Username or password error. Verify credentials and try again.
Authentication service is unavailable. Please try again later.
Password reset requests are rate limited. Please try again later.
If your username exists, a password reset email will be sent. Please be sure to check your spam folder.
Reset password


Resources
Resources on Budget Analysis
- Budget analysis for advancing socio-economic rights - Studies in Poverty and Inequality Institute (SPII) (PDF)
The Budget Process and Public Participation
- Budget Process and the Appropriation Bill - A presentation to Members of Parliament by National Treasury (PPT)
- People's Power, People's Parliament - by Keren Ben-Zeev (PDF)
- Public Participation Framework for the South African Legislative Sector, June 2013 - South African Legislative Sector (PDF)
- Submit a budget tip to the Minister of Finance


Catamorphism
Posted: 2016-12-26 , Modified: 2016-12-26
Tags: haskell, functional programming
Posted: 2016-12-26 , Modified: 2016-12-26
Tags: haskell, functional programming
type Algebra f a = f a -> a
Two really essential aspects of an algebra:
Express a recursive data type as a non-recursive data type and a fixpoint operator.
newtype Fix f = Fx (f (Fix f))
-- often called Mu
data Tree' a t = Leaf a | Tree' [t]
type Tree a = Fix (Tree' a)
let x = Fx (Leaf 4) :: Tree Int
The type Fix F'
is inhabited when there is one constructor of F'
that doesn’t depend on t
. (Here F' = Tree' a
.)
Fx
is a function f (Fix f) -> Fix f
.
Abstract away recursion: we need a evaluation strategy alg :: f a -> a
for each top-level construct and a way eval
to evaluate its children. a
is the carrier type of the algebra.
An F-algebra consists of:
alg :: Algebra Tree' String -- Tree' String String -> String
alg (Leaf i) = i
alg (Tree i j) = printf "(%s,%s)" i j
This is a function F' a -> a
where a = String
, F' = Tree' String
. We want a function F -> a
. (F = Tree a
) (In the image, f
is F'
and Fix f
is F
.
A note on Fx
: It’s type is F' (Fix F') -> Fix F' = Algebra F' (Fix F')
. (Note Fix F' = F
.) It’s a non-lossy evaluator. It is “at least as powerful as all other algebras based on the same functor. That’s why it’s called the initial algebra.” There exists a unique homomorphism from it to any other algebra based on the same functor.
Generalization of fold.
Given alg
, this function g
is the catamorphism.
cata :: Functor f => (f a -> a) -> Fix f -> a
cata alg = alg . fmap (cata alg) . unFix
So
alg :: Algebra Tree' String -- Tree' String String -> String
alg (Leaf i) = i
alg (Tree i j) = printf "(%s,%s)" i j
print :: Tree String -> String
print = cata alg
Compare this to the usual way we’d write such a function (here Tree is defined without fixpoints)
print :: Tree String -> String
print = \case
Leaf i -> i
Tree i j -> printf "(%s,%s)" (print i) (print j)
Note: “Actually, even in Haskell recursion is not completely first class because the compiler does a terrible job of optimizing recursive code. This is why F-algebras and F-coalgebras are pervasive in high-performance Haskell libraries like vector, because they transform recursive code to non-recursive code, and the compiler does an amazing job of optimizing non-recursive code.”


'£16m' - Nottingham Forest have sent Everton this transfer message
A number of top flight clubs including Everton and Crystal Palace have been linked with the Forest full-back
by Ben HusbandEverton have been linked with a move for Nottingham Forest defender Matty Cash in recent days.
The 22-year-old has been in fine form for the Reds this season, being rated as the best right back in the division.
Cash has reportedly caught the eye of Everton talent spotters who have been impressed with his versatility as both a midfielder and full back.
Along with Everton - Southampton and Crystal Palace have also been credited with an interest in the Forest academy graduate, who has a contract at the City Ground up until 2021.
Reports in the national press have suggested that the Toffees could be willing to part with £12m to acquire Cash's services in the upcoming window.
Forest legend Kenny Burns told NottinghamshireLive that a bid of that amount must be seriously considered by the board.
Nottingham Forest latest
This is your round up of all things Forest; the one-stop shop that will keep you updated on the latest goings on at the City Ground and beyond.
Transfers, injuries, match-days and managers, we’ve got you covered.
We’ll be bringing the very latest on the Reds throughout the week and around the clock.
Make sure you keep yourself updated with our handy daily catch up...
Must reads...
- Marinakis' 'vision' for City Ground plans
- Why Reds must not settle for second best
- The lowdown on Reds 'target' Shankland
- Lamouchi demanding 'better' from players
For all your latest NFFC news, opinion, analysis and transfer gossip, click here
You can follow our Reds reporter Sarah Clapson on Twitter, and her email address is<EMAIL_ADDRESS>In his weekly column, Burns said: "While it might just be speculation, when you’re talking about the money that’s been reported, it would be really tough to turn that down.
"The fact of the matter at clubs like Forest that don’t benefit from the Premier League riches is that to remain competitive and stay within Financial Fair Play rules, you have to sell players.
"Granted, £12m would seem to be a lot of money, but we all know there’s a premium attached to young British players and at the age of 22, Cash still has the prime of his career to come."
Well the Forest faithful believe, in contrast to Burns, that £12m shouldn't be enough to tempt decision makers to cash in (sorry!) on one of their most prized assets.
We have given fans the opportunity to put their value on him and at the time of writing, the average response was £16m - a full £4m on top of the fee quoted in recent reports.
Using the gadget below, you can have your own say....
Matty Cash slider
View fullscreen
We also took a look on social media for the verdict on the rumours linking Cash with a move to Merseyside, here was a pick of the responses.


Specifies the line number containing the #define.
The <cxxDefineDeclarationFileLine> element is defined within <cxxDefineAPIItemLocation>. The element <cxxDefineDeclarationFileLine>has no children. It has the required attributes name and value. name is always set to "lineNumber" and value is set to the line number that the #define appears on.
<cxxDefineAPIItemLocation> <cxxDefineDeclarationFile name="filePath" value="C:/src/SCOMM/cs_roles.cpp"/> <cxxDefineDeclarationFileLine name="lineNumber" value="35"/> </cxxDefineAPIItemLocation>