Welcome to the demonstration page
The most important things about dv-template will be shortly demonstrated here.
The most important things about dv-template will be shortly demonstrated here.
The grid system is divided into 24 columns, to allow fine-grained control over placement and size. It also nests nicely and breaks on mobile devices.
dv-classes.css contains utility classes used for positioning, sizing, visibility, text styling, etc.
dv-colors contains specifically chosen colors that work well together, as well as often-used brand colors and a notification container to be used in conjunction with the status colors.
Default form styling.


{{ post.title }}
{{ post.excerpt }}
Read More
{{ post.timestamp }}
--- layout: default permalink: /projects/ location: 'projects' ---
This is a running list of the bigger projects I've done, generally as personal endevours unless otherwise noted. They cover a wide variety of subjects in technology, game design, or whatever happens to inspire me.
I'm still populating this section! It will be full soon.
{% endif %} {% for post in site.projects reversed %}I have a long list of projects, I just need to write them up! Currently {{ 22 | minus: site.experiments.size }} in the backlog!


| DOSE: |
3.5 g |
oral |
Datura |
(seeds) |
Somewhere between 11 and 11:30 pm on a mid april day in a small midwest town, two guys named Terry (me) and Will (my friend) were sitting around playing video games and had no marijuana.
Thats when I pulled out about 7 grams of months-old Datura Innoxia seeds which were only known to me as Moon Lilly variety at the time. These were from home plants of a relative, to be passed to another until I had put them away and forgot about them. I don't remember how I came to learn that the moon lilly was intoxicating because I didn't know its proper name for months after the experience. I assumed they were a variety of morning glory seeds only learning the truth after following up on experiences in the archives. Nothing at all happened after an initial test of a gram at most. So I figured it would be safe for me and Will to try 3.5 this night.
So here me and Will are thinking, 'what have we got to lose?'. After all LSD and mushrooms wears off within 8-12 hours...how bad can an organic flower be?  Within 45 minutes and still expecting nothing, our vision began to fail like so many reports before this one. I thought that would be the worst of it but not quite.
Will decided he should go home a little after 12 to avoid coming home to angry worried parents. As he walked out the door I looked into his eyes/dinner plates and knew that we were in for something big. I should've stopped him then but we've both taken halucinogens enough that I felt he could take care of himself. As soon as he left I was on my computer and noticed I couldn't read it much less stay concentrated on it.
Again like so many before, I found myself searching for dropped cigarettes...but they were burning through and sliding under the sheets. I could feel the burnt holes and heat coming off them, feel the cigarette roll away from me under the sheets. And then it hit me that I never lit a cigarette, but I sure needed one. Forget that I was just thrashing around like a wild man for imaginary cigarettes, it was time for the real thing. I actually smoked the same amount as I normally do (30 to 45 min apart), but I always felt like I had one in my hand. Many times my index, middle fingers and thumb would meet as I spaced off and that would induce a frantic cigarette hunt. It was mostly happening in my left hand which I dont even smoke with. This is the aspect I am most curious about of all my experiences. Its so common the explanation is probably very simple.
Some time I laid down to sleep it off (BIG NO NO). I am guessing it was around 2 am by this time. I never felt like I fell asleep in fact I sat right up and started using my computer at one point. I opened Notepad.exe maybe by accident...not really sure. What I was sure of though was that aliens were typing messages to me and replying in real time. The room looked disconnected and distorted with subtle colors like red, green, and yellow and everything seemed liquid like as if I was in an out of body state (or at least how they make it appear on the soap opera flashbacks). I was visited by some friends though I can only remember one person in particular, my girlfriend. I saw her sitting behind my oscillating fan staring at me, saying nothing.
Its my sister asking if I am ok because they heard talking in my room and I say I was just having a dream, which wasn't a complete lie. All it takes though is one look into my solar eclipse of a pupil and the story falls apart. She tells me its 4 am which I have a hard time believing because in my mind my friend had just left and I was listening to music, surfing the net waiting for seeds to kick in that never would. Never mind talking with aliens or hunting for dropped cigarettes...never mind becoming blind as a bat, or hardly being able to swallow whatever liquids I drank to alleviate the dehydration. I didn't have the constant urge to urinate possibly because I'd been trained from so many late night trips to avoid leaving my parents basement at all costs. But I did take one bathroom break which I took time out from to examine my pupils.
After my sister's concerned check in and the bathroom break, there was another knock at the door. This time I told myself I was just paranoid and it was my imagination.  I answered it to see my mother's face grim and threating with the question taking no time to jump from her lips 'are you on something?'. A million excuses filled my mind and I can't be sure but the one that I believe popped out involved taking a few too many antidepressants. Not a bad choice as the label says may cause hallucinations, delerium, dry mouth, and all the other symptoms I had and she would know that working in a pharmacy. So I would be off the hook, able to go back to smoking my cigarettes in insanity land. Not quite yet... she wants me to go upstairs and talk, make sure I am ok.
Bad choice as I am the farthest thing from ok. I found myself at the kitchen table, near 5 am, jumping from the most nonsensical topic to the next. A wonderful show for your family I think not.  This cycle went on for 20 minutes as I tried to be normal and thought I was playing them like puppets. That is until I puked up a belly full of tea and half digested datura seeds all over the kitchen table. I was filled with dread that my lie would be discovered then and there but it wasn't time for that yet.
Somehow I managed to lay myself on the kitchen floor where I watched armies of half cricket half roaches in awe as they marched in perfect strategic lines like you see in the Chinese military marches. I was also threatened with the possibility of visiting the emergency room which between bug gazing moments, I peacefully protested.
After the nightmarish scene upstairs, I was somehow allowed to retreat to my room unsure and only half thinking of what trouble lay ahead. I just wanted to be in the safety of my room. Once in, I -immediately- calmed down to my average state of being although still experiencing the loose cigarette phenomenon as well as periods of spacing out and dreaming while wide awake. There were no more panicky hallucinations though. My girlfriend showed up and told me something bad has happened and she wants to know what happened. I ask her what the problem is and apparantly Will's mom was calling up friends to see what poison had been given to her son. I then start a short one way conversation about my grandparents who she barely knows for no reason until I snap back to reality and see the familiar shocked stare. That was when I realized how much trouble Will could be in.
Through a friend I learned that Will came home and began talking to imaginary friends. He was as blurred and blind as I was if not more. It wasn't the incoherant gibberish or the psychotic look in his eyes that worried his family.  Both of our vision was restored after a day of sleep and recovery which surprised me after reading all the reports here lasting 4 days and longer. I had to admit to my mother what I had really done and it was humiliating just like the time when I told her I had tried coke, speed, and basically everything else but h. This time it was maybe even worse because I undeniably lost control and it was all over a natural legal plant.
I have not eaten datura again and don't plan on it soon. I did begin experimenting with smoking the fresh picked leaves, flower, anther, and filament and the results are much lighter. After less than a gram of flower material, lethargy sets in known around here as 'Datura stoned'. Also I have a bit of anxiety fearing another onslaught by this untamed plant. I have yet to experience drastic effects smoking datura that I had while eating the seeds.
Knowing what I know now about the plant I regret ever taking it as I did (very foolish especially considering the drugs in it). Then I think of the experience and feel a strong desire to go through it again because it is like no other drug. Yes it is one unique ride if for anything to have a better appreciation for the capacity of the mind and the potential to unlock some heavy subconscious ego crushing insight, man. But the bottom line is not to do this alone because reality becomes 100% subjective to a part of oneself that one may not know or even want to know. This is the closest thing to schizophrenia I could ever imagine...knowing enough to hide the fact I had taken psychotic drugs while completely forgetting that I was on them. Scary indeed. I do not feel I was in serious danger or becoming sick from the seeds, however it was obviously an unsafe state of mind.
One last word of caution. It has been over a year since I ate the seeds but over time I have caught myself dreaming while still awake in bed, believing it is all just a dream. Like many others into lucid dreams, I always test the boundaries of unreality by doing things I couldn't get away with in the real world like tearing my girlfriend's panties off with my teeth for example. Not a personal example in my case but a very possible and potentially bad scenario if I'm not expected to act that way and if I'm not woken up in time. I have had these occurences 3-4 times and never did before taking datura... not even sleep walking. I will be thinking it is ok to do this or that because I can just wake up or press reset like a video game when thats actually not true. That same feeling of stupidity I had between moments in and out of consciousness while on datura is present after these rare experiences.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Time: 9/22/2018 11:56:04 AM
User Name: Delacor Operating System: Windows 95/NT Operating System Version: 10.0 Target CPU: Intel x86 Target IP: <IP_ADDRESS> LabVIEW Version: 18.0(en)
Test Summary
0 Test Error(s)
0 Test(s) Failed
0 Test(s) Skipped
1 Test(s) Passed
Time elapsed: 00:00:01
Project code coverage: 4.2%
VI percentage: 1 / 22


{% extends "base.html" %} {% block title %}Home | {{ block.super }}{% endblock %} {% block header %}
PythonExpress is an initiative and ongoing effort by the Python Software Society of India (PSSI). It aims to create an avenue for learning and exploring the Python programming language and community by acting as a bridge between organizations interested in hosting a workshop, students who want to learn, and experienced Python programmers who are interested to teach.


[Gecode] ConLevel args
Patrick P.
the_phantom_dP at web.de
Fri Sep 24 22:38:57 CEST 2004
Hi there,
Sorry for that discussion about the ConLevel arguments. I just
reinserted them again and post the Bound Consistent Version.
Does anybody has a hint for me about the Distinct-prop and its
Bound-consistent version???
As soon as i'm using explicitly distinct("current space", "current
vars", CL_BND) or
even the Distinct::Bnd<Var>::post("space","vars") i'm always getting a
segmentation fault for
VALGRIND:
Invalid write of size 4 --> in function
Distinct::Bnd<IntVar>::propagate(Space*)
Is it the wrong way of using it?
Thx so far
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20040924/ae752d7c/attachment.htm>
More information about the gecode-users
mailing list


Have you played Hangman?!
The game is simple:
- You get only so many guesses...
- Wins will be tracked until the page is refreshed...
- So... do you think you're able to guess what letter im thinking?
- Type any letter to get started...
| Games Won |
Current Word |
Guesses Left |
| 0 |
0 |
0 |
| A
| B |
C |
D |
E |
F |
| G |
H |
I |
J |
K |
L |
| M |
N |
O |
P |
Q |
R |
| S |
T |
U |
V |
W |
X |
| Y |
Z |


--- layout: page title: K parent: SWERC 2016 ---
|
Balls and Needles
Joana Vasconcelos is a Portuguese artist who uses everyday objects in her creations, like electric irons or plastic cutlery. She is an inspiration to Ana, who wants to make ceiling hanging sculptures with straight knitting needles and balls of wool. For safety reasons, there will be a ball at each end of each needle. Knitting needles vary in colour, length and thickness (to allow intersections of needles). Sculptures are to be exhibited in room corners, which provide a 3D Cartesian coordinate system, with many lamps on the ceiling. Sculpture designs are made with the coordinates of the centres of the balls of wool in which knitting needles are stuck. That is, each needle N is represented by a set of two different triples: N = {(x, y, z), (x′, y′, z′)}. Ana dislikes closed chains. A true closed chain is a sequence of k distinct needles, N1, N2, …, Nk (for some k≥ 3), such that:
But her dislike of closed chains is so extreme that the shadow of the sculpture on the floor has to be free of “floor closed chains”. Given any needle N = {(x, y, z), (x′, y′, z′)}, let N↓ = {(x, y), (x′, y′)} denote the shadow of needle N on the floor. For Ana (who is an artist), a floor closed chain is also a sequence of k distinct needles, N1, N2, …, Nk (for some k≥ 3), such that:
Consider the sculpture depicted in the figure, which has the following four knitting needles:
This structure is not free of closed chains because, although there is no true closed chain, the sequence of needles A, B, D is a floor closed chain. TaskWrite a program that, given the knitting needles of a sculpture, determines whether there is a true or a floor closed chain in the sculpture. InputThe first line of the input has one integer, K, which is the number of knitting needles in the sculpture. Each of the following K lines contains six integers, x1, y1, z1, x2, y2, and z2, which indicate that {(x1, y1, z1), (x2, y2, z2)} is the set of triples of a needle. Any two distinct needles are represented by different sets of triples. Constraints
OutputThe output has two lines, each one with a string. The string in the first line is: True closed chains, if there is some true closed chain in the sculpture; No true closed chains, otherwise. The string in the second line is: Floor closed chains, if there is some floor closed chain in the sculpture; No floor closed chains, otherwise. Sample Input 14 12 12 8 10 5 11 12 12 8 4 14 21 12 12 8 12 20 8 4 14 21 10 5 21 Sample Output 1No true closed chains Floor closed chains Sample Input 24 1 1 1 2 2 2 2 2 2 1 5 5 9 4 4 9 4 2 9 4 4 9 9 4 Sample Output 2No true closed chains No floor closed chains Sample Input 33 50 50 50 100 100 100 100 100 100 50 50 90 50 50 90 50 50 50 Sample Output 3True closed chains No floor closed chains Sample Input 43 1 1 5 1 3 7 1 3 7 4 4 5 4 4 5 1 1 5 Sample Output 4True closed chains Floor closed chains Computer Science Department Universidade do Porto |


SweepScripts
This Executor handles
batch execution.
Unlike most other Executors, SweepScripts does not show
a parameter
window when started interactively, but rather goes right ahead. All the
information
required is the current Working directory.
In executing, SweepScripts goes through the Working
directory and all directories inside it, searching for sweepable scripts. Whenever
one is encountered, it will be executed. After execution, its file name
will be
changed so that it is no longer a sweepable script, ie the terminal
'Script_.txt' is changed into 'Script.txt'.
If new sweepable scripts are created in this process,
they will also be found and executed.
You should not depend on SweepScripts executing the
sweepable scripts in any particular order.
If a script was not successfully executed because of an internal
RetroTector error, SweepScripts will normally continue with the next
script. Before exiting, a list of such unprocessed scripts will be
presented.
If a Java runtime error occurs when executing a script, SweepScripts
will normally abort.
There are two ways to interrupt execution of SweepScripts from the
'Control'
menu of the
RetroTector window.
The
Abort command will terminate abruptly (though not always
instantaneously)
which may leave files half finished. The 'Stop SweepScripts' command
will
terminate after allowing the current script to be executed in good
order.


{# This simple template derives from ``base.html``. See ``base.html`` for more information about template inheritance. #} {%- extends "base.html" %} {# Loads some of the macros included with Flask-Bootstrap. We are using the utils module here to automatically render Flask's flashed messages in a bootstrap friendly manner #} {% import "bootstrap/utils.html" as utils %} {# Inside the ``content`` is where you should place most of your own stuff. This will keep scripts at the page end and a navbar you add on later intact. #} {% block content %}
{%- endblock %}


NDDriverStdArrays¶
| author: | Mark Rivers (University of Chicago) |
|---|
Introduction¶
This is an EPICS areaDetector driver that allows any EPICS Channel Access client to create NDArrays in an areaDetector IOC. It is the logical inverse of the NDPluginStdArrays, which converts NDArrays in an IOC into standard EPICS waveform records for use by Channel Access clients. The NDPluginStdArrays plugin also writes to additional records to describe the array structure. The NDDriverStdArrays driver receives EPICS waveform records from Channel Access clients and converts them to an NDArray in the IOC. The clients must also write to additional EPICS records to define the structure of the NDArray. It is similar in concept to the pvaDriver which receives EPICS V4 NTNDArrays over the network and converts them to NDArrays in the IOC. pvaDriver only works with EPICS V4 PVAccess clients, while NDDriverStdArrays works with EPICS V3 Channel Access clients.
NDDriverStdArrays is based on an earlier driver called ADSoft written by David Vine from LBNL. This driver generalizes ADSoft to support any number of dimensions and any input waveform data type.
One use-case for this driver may be to receive data from the EPICS sscan record. By putting such data into an areaDetector IOC it could then be saved with the standard file saving plugins. It could also be processed with ROI plugins, and then visualized with the standard areaDetector viewers like ImageJ.
This driver inherits from ADDriver. It implements many of the parameters in asynNDArrayDriver.h and in ADArrayDriver.h. It also implements a number of parameters that are specific to this driver. The NDDriverStdArrays class documentation describes this class in detail.
The driver receives 1-D arrays, normally from an EPICS waveform record. The NDimensions record controls the actual number of dimensions to use when creating the NDArray. The Dimensions array record controls the actual size of each of the NDimensions dimensions. The only limit on the number of dimensions is the ND_ARRAY_MAX_DIMENSIONS value defined in ADCore. This is normally 10. The ColorMode record can be used to define the color mode (Mono, Bayer, RGB1, RGB2, or RGB3) of the NDArray. This does not affect the operation of the driver, so the data in the waveform record must be in the correct order for the specified color mode.
The data type of the NDArray is controlled by the DataType record. It can be any of the datatypes Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32, or Float64. The datatype (FTVL) of the EPICS waveform record can also be any of the types CHAR, UCHAR, SHORT, USHORT, LONG, ULONG, FLOAT, or DOUBLE. The DTYP of the waveform record can be any of asynInt8ArrayWfOut, asynInt16ArrayWfOut, asynInt32ArrayWfOut, asynFloat32ArrayWfOut, or asynFloat64ArrayWfOut. The driver does any required type conversion between the waveform record data and the NDArray data.
The driver has 2 modes of operation, AppendMode=Disable and AppendMode=Enable. When AppendMode is Disable then each write to the waveform record will generate a complete NDArray. The first element of the waveform record will be placed in the first element of the NDArray. Generally the number of elements written should be equal to the total number of elements in the NDArray. If it is greater then excess elements will be discarded. If it is fewer then the NDArray will be zero-padded.
When AppendMode=Enable then the waveform record can contain just part of the NDArray data, and data can be appended by multiple writes to the waveform record to construct the complete NDArray. In append mode the following records are used to control the operation of the driver. These records have no effect if AppendMode=Disable.
NewArray This record must be processed before sending data for a new NDArray.
NextElement This record can be used to define the location in the NDArray in which to write the data on the next waveform record write. It is set to 0 when NewArray is processed, and is incremented by the number of elements in the waveform record each time the waveform record is written. Thus if the data are being written in the logical order of the NDArray then this record does not need to be written. This record is useful when the should not be written in the natural order of the NDArray data.
Stride This record can be used to define the increment in the NDArray index for each successive element in the waveform record. Data is copied from the waveform record to the NDArray as follows:
NDArray[NextElement + i*Stride] = waveform[i]
The default value of Stride is 1.
ArrayComplete This record must be processed to tell the driver that the NDArray is complete and that no more waveform records will be written to this NDArray.
The CallbackMode record controls when the driver does callbacks to plugins. In append mode it may not be desireable to do callbacks each time the waveform record is written, since that could happen thousands of times per second if only small parts of the NDArray are written on each call. The CallbackMode record has 3 choices:
- OnUpdate The callbacks will be done each time the NDArray is updated, i.e. each time the waveform record is written.
- OnComplete The callbacks will be done when the NDArray is complete. This is equivalent to OnUpdate when AppendMode=Disable, but when AppendMode=Enable then the callbacks will only happen after the ArrayComplete record is processed.
- OnCommand The callbacks are only called when the DoCallbacks record is processed. This allows Channel Access clients to control when the callbacks are done. The DoCallbacks record will also cause the callbacks to be done when CallbackMode is OnUpdate or OnComplete.
Standard areaDetector parameters¶
The following table describes how the NDDriverStdArrays driver implements some of the standard driver parameters. The Acquire, ImageMode, NumImages, ImageCounter, and ArrayCallbacks records are handled in the standard way. The trigger, temperature, acquire time, and gain related records are not implemented.
| Implementation of Parameters in asynNDArrayDriver.h and ADDriver.h, and EPICS Record Definitions in ADBase.template and NDFile.template | ||
|---|---|---|
| Parameter index variable | EPICS record name | Description |
| NDNDimensions | $(P)$(R)NDimensions | The number of dimensions in the NDArray to be created. Must be set before the waveform record is written. |
| NDDimensions | $(P)$(R)Dimensions | An array containing the dimensions of the NDArray to be created. Must be set before the waveform record is written. |
| NDDataType | $(P)$(R)DataType | The data type of the NDArray to be created. Must be set before the waveform record is written. |
| NDColorMode | $(P)$(R)ColorMode | The color mode of the NDArray to be created. Must be set before the waveform record is written. |
| N.A. | $(P)$(R)ArraySize[N], N=0, 9. | The $(P)$(R)Dimensions[0-9] values, extracted with a subarray record. These allow for display of the NDArray dimensions. |
| N.A. | $(P)$(R)ArraySize[N]_RBV, N=0, 9. | The $(P)$(R)Dimensions_RB[0-9] values, extracted with a subarray record. These allow for display of the dimensions of the currently defined data in the NDArray. These will increment when AppendMode=Enable. |
NDDriverStdArrays specific driver parameters¶
The NDDriverStdArrays driver implements the following parameters in addition to those in asynNDArrayDriver.h and ADDriver.h. The database file is NDDriverStdArrays.template.
| Parameter Definitions in NDDriverStdArrays.h and EPICS Record Definitions | ||||||
|---|---|---|---|---|---|---|
| Parameter index variable | asyn interface | Access | Description | drvInfo string | EPICS record name | EPICS record type |
| NDSA_AppendMode | asynInt32 | r/w | Append mode. Choices are Disable (0) and Enable (1). See the description above. | NDSA_APPEND_MODE | $(P)$(R)AppendMode, $(P)$(R)AppendMode_RBV | bo, bi |
| NDSA_NumElements | asynInt32 | r/o | The total number of elements in the NDArray. | NDSA_NUM_ELEMENTS | $(P)$(R)NumElements_RBV | longin |
| NDSA_NextElement | asynInt32 | r/w | The next element in the NDArray to write to when AppendMode=Enable. See the description above. | NDSA_NEXT_ELEMENT | $(P)$(R)NextElement, $(P)$(R)NextElement_RBV | longout, longin |
| NDSA_Stride | asynInt32 | r/w | The stride to use for the NDArray index when copying data from the waveform record to the NDArray. See the description above. | NDSA_STRIDE | $(P)$(R)Stride, $(P)$(R)Stride_RBV | longout, longin |
| NDSA_FillValue | asynFloat64 | r/w | The fill value to use for the NDArray. The NDArray is set to FillValue when AppendMode=Enable and NewArray is processed, or when AppendMode=Disable and the number of elements in the waveform record is fewer than the number of elements in the NDArray. | NDSA_FILL_VALUE | $(P)$(R)FillValue | ao |
| NDSA_NewArray | asynInt32 | r/w | Tell the driver to start a new NDArray when AppendMode=Enable. See the description above. | NDSA_NEW_ARRAY | $(P)$(R)NewArray | bo |
| NDSA_ArrayComplete | asynInt32 | r/w | Tell the driver that the current NDArray is complete when AppendMode=Enable. See the description above. | NDSA_ARRAY_COMPLETE | $(P)$(R)ArrayComplete | bo |
| NDSA_CallbackMode | asynInt32 | r/w | Callback mode. See the description above. Choices are:
|
NDSA_CALLBACK_MODE | $(P)$(R)CallbackMode, $(P)$(R)CallbackMode_RBV | mbbo, mbbi |
| NDSA_DoCallbacks | asynInt32 | r/w | Processing this record forces the driver to do callbacks to plugins. | NDSA_DO_CALLBACKS | $(P)$(R)DoCallbacks | bo |
| N.A. | N.A. | r/w | This record can periodically process the DoCallbacks record by setting is SCAN field. It is disabled when $(P)$(R)Acquire is 0. | N.A. | $(P)$(R)DoCallbacksScan | bo |
| NDSA_ArrayData | asynXXXArray | r/w | Waveform record containing the input data. The database requires 3 additional macros for this record:
|
NDSA_ARRAY_DATA | $(P)$(R)ArrayIn | waveform |
Configuration¶
The NDDriverStdArrays driver is created with the NDDriverStdArraysConfig command, either from C/C++ or from the EPICS IOC shell:
NDDriverStdArraysConfig(const char *portName,
int maxBuffers, size_t maxMemory,
int priority, int stackSize)
There an example IOC boot directory and startup script (iocBoot/iocNDDriverStdArrays/st.cmd) provided with areaDetector.
Screenshots¶
The following show the MEDM screens that are used to control the NDDriverStdArrays driver.
Unit tests¶
The src/Python_tests and src/IDL_tests directories contain a number of tests of the driver. The IDL tests are run by opening IDL and typing for example:
IDL> .run MonoOverwrite
The Python tests can all be run by typing:
python test_NDDriverStdArrays.py
Individual tests can be run by typing for example:
python test_NDDriverStdArrays.py TestNDDriverStdArrays.testDataTypes
When running the tests it is useful to be displaying the images, for example in ImageJ. It is helpful to press the ImageJ “Auto” contrast button as the tests are run, since they have different data ranges.
test_NDDriverStdArrays.py contains the following tests:
testDataTypes This test creates NDArrays of size 256x768 for each allowed NDArray data type and corresponding Python data type. It writes the complete array with a single channel access write to the waveform record, i.e. with AppendMode=Disable. After writing each array it reads it back to verify that the data read matches the data written.
testDataTypesAppend This test is the same as testDataTypes except that the data are written with AppendMode=Enable. Each channel access write to the waveform record writes “ystep” rows of the image. “ystep” is set to 1 in the code, but can be edited to test writing multiple rows at once. After writing each complete array it reads it back to verify that the data read matches the data written.
testContinuousMono This test writes 50 NDArrays of size 500x800 with ImageMode=Continuous, ColorMode=Mono, and AppendMode=Disable.  After writing each complete array it reads it back to verify that the data read matches the data written.
testContinuousRGB1 This test writes 20 NDArrays of size 3x600x800 with ImageMode=Continuous ColorMode=RGB1, and AppendMode=Disable.  After writing each complete array it reads it back to verify that the data read matches the data written.
testScanPoint This test simulates collecting 2-D scan data for 4 detectors with size 100x200. The data are collected with AppendMode=Enable. The data are appended to the NDArray one “pixel” at a time, i.e. the waveform record is has 4 elements, one for each detector. At the end of the scan the test configures the ROI1: plugin to select each of the 4 detectors in turn and processes the DoCallbacks record. This can display each of the detectors in succession in the ImageJ plugin, for example.
testScanPointReverse This is the same as testScanPoint except that the data are collected in reverse order, i.e. from element [99,199] backwards to element [0,0]. It thus tests the use of NextElement.
testScanLine This test simulates collecting 2-D scan data for 4 detectors with size 400x600. The data are collected with AppendMode=Enable. The data are appended to the NDArray one “detector line” at a time, i.e. the waveform record is has 400 elements, containing the data for one detector for one row of the scan. The NDArray can be one of the following shapes:
- [4,400,600] This is “detector interleaved”, and called detIndex=0. This is the default.
- [400,4,600] This is “row interleaved”, and called detIndex=1.
- [400,600,4] This is “plane interleaved”, and called detIndex=2.
At the end of the scan the test configures the ROI1: plugin to select each of the 4 detectors in turn and processes the DoCallbacks record. This can display each of the detectors in succession in the ImageJ plugin, for example.
testScanLineIndex1 This is the same as testScanLine, but with detIndex=1.
testScanLineIndex2This is the same as testScanLine, but with detIndex=2.
The following shows the NDPluginROI medm screen configured to select the 4’th detector in the NDArray. Note that the plugin has the CollapseDims PV enabled. This results in output arrays of dimensions [100, 200], rather than [1, 100, 200] which would be the case if CollapseDims was disabled.
The following shows the ImageJ screen displaying the output of the 4’th detector via ROI4. The NDPluginStdArrays was set to have ROI4 as its array input.


Loading, please wait...
Not logged in. Please
login
or
register
.
Username:
Password:
Repeat password:
Real name:
Register
{{message}}
Username:
Password:
Log in
{{message}}
Welcome, {{user}}!


Binary quadratic forms with integer coefficients#
This module provides a specialized class for working with a binary quadratic form \(a x^2 + b x y + c y^2\), stored as a triple of integers \((a, b, c)\).
EXAMPLES:
sage: Q = BinaryQF([1, 2, 3])
sage: Q
x^2 + 2*x*y + 3*y^2
sage: Q.discriminant()
-8
sage: Q.reduced_form() # optional - sage.libs.pari
x^2 + 2*y^2
sage: Q(1, 1)
6
AUTHORS:
Jon Hanke (2006-08-08):
Appended to add the methods
BinaryQF_reduced_representatives()
,is_reduced()
, and__add__
on 8-3-2006 for Coding Sprint #2.Added Documentation and
complex_point()
method on 8-8-2006.
Nick Alexander: add doctests and clean code for Doc Days 2
William Stein (2009-08-05): composition; some ReSTification.
William Stein (2009-09-18): make immutable.
Justin C. Walker (2011-02-06): Add support for indefinite forms.
- class sage.quadratic_forms.binary_qf.BinaryQF(a, b=None, c=None)#
Bases:
SageObject
A binary quadratic form over \(\ZZ\).
INPUT:
One of the following:
a
– either a 3-tuple of integers, or a quadratic homogeneous polynomial in two variables with integer coefficientsa
,b
,c
– three integers
OUTPUT:
The binary quadratic form \(a x^2 + b xy + c y^2\).
EXAMPLES:
sage: b = BinaryQF([1, 2, 3]) sage: b.discriminant() -8 sage: b1 = BinaryQF(1, 2, 3) sage: b1 == b True sage: R.<x, y> = ZZ[] sage: BinaryQF(x^2 + 2*x*y + 3*y^2) == b True sage: BinaryQF(1, 0, 1) x^2 + y^2
- complex_point()#
Return the point in the complex upper half-plane associated to
self
.This form, \(ax^2 + b xy + cy^2\), must be definite with negative discriminant \(b^2 - 4 a c < 0\).
OUTPUT:
the unique complex root of \(a x^2 + b x + c\) with positive imaginary part
EXAMPLES:
sage: Q = BinaryQF([1, 0, 1]) sage: Q.complex_point() 1.00000000000000*I
- content()#
Return the content of the form, i.e., the \(\gcd\) of the coefficients.
EXAMPLES:
sage: Q = BinaryQF(22, 14, 10) sage: Q.content() 2 sage: Q = BinaryQF(4, 4, -15) sage: Q.content() 1
- cycle(proper=False)#
Return the cycle of reduced forms to which
self
belongs.This is based on Algorithm 6.1 of [BUVO2007].
INPUT:
self
– reduced, indefinite form of non-square discriminantproper
– boolean (default:False
); ifTrue
, return the proper cycle
The proper cycle of a form \(f\) consists of all reduced forms that are properly equivalent to \(f\). This is useful when testing for proper equivalence (or equivalence) between indefinite forms.
The cycle of \(f\) is a technical tool that is used when computing the proper cycle. Our definition of the cycle is slightly different from the one in [BUVO2007]. In our definition, the cycle consists of all reduced forms \(g\), such that the \(a\)-coefficient of \(g\) has the same sign as the \(a\)-coefficient of \(f\), and \(g\) can be obtained from \(f\) by performing a change of variables, and then multiplying by the determinant of the change-of-variables matrix. It is important to note that \(g\) might not be equivalent to \(f\) (because of multiplying by the determinant). However, either \(g\) or \(-g\) must be equivalent to \(f\). Also note that the cycle does contain \(f\). (Under the definition in [BUVO2007], the cycle might not contain \(f\), because all forms in the cycle are required to have positive \(a\)-coefficient, even if the \(a\)-coefficient of \(f\) is negative.)
EXAMPLES:
sage: Q = BinaryQF(14, 17, -2) sage: Q.cycle() [14*x^2 + 17*x*y - 2*y^2, 2*x^2 + 19*x*y - 5*y^2, 5*x^2 + 11*x*y - 14*y^2] sage: Q.cycle(proper=True) [14*x^2 + 17*x*y - 2*y^2, -2*x^2 + 19*x*y + 5*y^2, 5*x^2 + 11*x*y - 14*y^2, -14*x^2 + 17*x*y + 2*y^2, 2*x^2 + 19*x*y - 5*y^2, -5*x^2 + 11*x*y + 14*y^2] sage: Q = BinaryQF(1, 8, -3) sage: Q.cycle() [x^2 + 8*x*y - 3*y^2, 3*x^2 + 4*x*y - 5*y^2, 5*x^2 + 6*x*y - 2*y^2, 2*x^2 + 6*x*y - 5*y^2, 5*x^2 + 4*x*y - 3*y^2, 3*x^2 + 8*x*y - y^2] sage: Q.cycle(proper=True) [x^2 + 8*x*y - 3*y^2, -3*x^2 + 4*x*y + 5*y^2, 5*x^2 + 6*x*y - 2*y^2, -2*x^2 + 6*x*y + 5*y^2, 5*x^2 + 4*x*y - 3*y^2, -3*x^2 + 8*x*y + y^2] sage: Q = BinaryQF(1, 7, -6) sage: Q.cycle() [x^2 + 7*x*y - 6*y^2, 6*x^2 + 5*x*y - 2*y^2, 2*x^2 + 7*x*y - 3*y^2, 3*x^2 + 5*x*y - 4*y^2, 4*x^2 + 3*x*y - 4*y^2, 4*x^2 + 5*x*y - 3*y^2, 3*x^2 + 7*x*y - 2*y^2, 2*x^2 + 5*x*y - 6*y^2, 6*x^2 + 7*x*y - y^2]
- det()#
Return the determinant of the matrix associated to
self
.The determinant is used by Gauss and by Conway-Sloane, for whom an integral quadratic form has coefficients \((a, 2b, c)\) with \(a\), \(b\), \(c\) integers.
OUTPUT:
The determinant of the matrix:
[ a b/2] [b/2 c]
as a rational.
REMARK:
This is just \(-D/4\) where \(D\) is the discriminant. The return type is rational even if \(b\) (and hence \(D\)) is even.
EXAMPLES:
sage: q = BinaryQF(1, -1, 67) sage: q.determinant() 267/4
- determinant()#
Return the determinant of the matrix associated to
self
.The determinant is used by Gauss and by Conway-Sloane, for whom an integral quadratic form has coefficients \((a, 2b, c)\) with \(a\), \(b\), \(c\) integers.
OUTPUT:
The determinant of the matrix:
[ a b/2] [b/2 c]
as a rational.
REMARK:
This is just \(-D/4\) where \(D\) is the discriminant. The return type is rational even if \(b\) (and hence \(D\)) is even.
EXAMPLES:
sage: q = BinaryQF(1, -1, 67) sage: q.determinant() 267/4
- discriminant()#
Return the discriminant of
self
.Given a form \(ax^2 + bxy + cy^2\), this returns \(b^2 - 4ac\).
EXAMPLES:
sage: Q = BinaryQF([1, 2, 3]) sage: Q.discriminant() -8
- static from_polynomial(poly)#
Construct a
BinaryQF
from a bivariate polynomial with integer coefficients. Inverse ofpolynomial()
.EXAMPLES:
sage: R.<u,v> = ZZ[] sage: f = u^2 + 419*v^2 sage: Q = BinaryQF.from_polynomial(f); Q x^2 + 419*y^2 sage: Q.polynomial() x^2 + 419*y^2 sage: Q.polynomial()(R.gens()) == f True
The method fails if the given polynomial is not a quadratic form:
sage: BinaryQF.from_polynomial(u^3 - 5*v) Traceback (most recent call last): ... ValueError: polynomial has monomials of degree != 2
…or if the coefficients aren’t integers:
sage: BinaryQF.from_polynomial(u^2/7 + v^2) Traceback (most recent call last): ... TypeError: no conversion of this rational to integer
- has_fundamental_discriminant()#
Return whether the discriminant \(D\) of this form is a fundamental discriminant (i.e. \(D\) is the smallest element of its squareclass with \(D = 0\) or \(1\) modulo \(4\)).
EXAMPLES:
sage: Q = BinaryQF([1, 0, 1]) sage: Q.discriminant() -4 sage: Q.has_fundamental_discriminant() # optional - sage.libs.pari True sage: Q = BinaryQF([2, 0, 2]) sage: Q.discriminant() -16 sage: Q.has_fundamental_discriminant() # optional - sage.libs.pari False
- is_equivalent(other, proper=True)#
Return whether
self
is equivalent toother
.INPUT:
proper
– bool (default:True
); ifTrue
use proper equivalenceother
– a binary quadratic form
EXAMPLES:
sage: Q3 = BinaryQF(4, 4, 15) sage: Q2 = BinaryQF(4, -4, 15) sage: Q2.is_equivalent(Q3) # optional - sage.libs.pari True sage: a = BinaryQF([33, 11, 5]) sage: b = a.reduced_form(); b # optional - sage.libs.pari 5*x^2 - x*y + 27*y^2 sage: a.is_equivalent(b) # optional - sage.libs.pari True sage: a.is_equivalent(BinaryQF((3, 4, 5))) # optional - sage.libs.pari False
Some indefinite examples:
sage: Q1 = BinaryQF(9, 8, -7) sage: Q2 = BinaryQF(9, -8, -7) sage: Q1.is_equivalent(Q2, proper=True) # optional - sage.libs.pari False sage: Q1.is_equivalent(Q2, proper=False) # optional - sage.libs.pari True
- is_indef()#
Return whether
self
is indefinite, i.e., has positive discriminant.EXAMPLES:
sage: Q = BinaryQF(1, 3, -5) sage: Q.is_indef() True
- is_indefinite()#
Return whether
self
is indefinite, i.e., has positive discriminant.EXAMPLES:
sage: Q = BinaryQF(1, 3, -5) sage: Q.is_indef() True
- is_negative_definite()#
Return
True
ifself
is negative definite, i.e., has negative discriminant with \(a < 0\).EXAMPLES:
sage: Q = BinaryQF(-1, 3, -5) sage: Q.is_positive_definite() False sage: Q.is_negative_definite() True
- is_negdef()#
Return
True
ifself
is negative definite, i.e., has negative discriminant with \(a < 0\).EXAMPLES:
sage: Q = BinaryQF(-1, 3, -5) sage: Q.is_positive_definite() False sage: Q.is_negative_definite() True
- is_nonsingular()#
Return whether this form is nonsingular, i.e., has non-zero discriminant.
EXAMPLES:
sage: Q = BinaryQF(1, 3, -5) sage: Q.is_nonsingular() True sage: Q = BinaryQF(1, 2, 1) sage: Q.is_nonsingular() False
- is_posdef()#
Return
True
ifself
is positive definite, i.e., has negative discriminant with \(a > 0\).EXAMPLES:
sage: Q = BinaryQF(195751, 37615, 1807) sage: Q.is_positive_definite() True sage: Q = BinaryQF(195751, 1212121, -1876411) sage: Q.is_positive_definite() False
- is_positive_definite()#
Return
True
ifself
is positive definite, i.e., has negative discriminant with \(a > 0\).EXAMPLES:
sage: Q = BinaryQF(195751, 37615, 1807) sage: Q.is_positive_definite() True sage: Q = BinaryQF(195751, 1212121, -1876411) sage: Q.is_positive_definite() False
- is_primitive()#
Return whether the form \(ax^2 + bxy + cy^2\) satisfies \(\gcd(a, b, c) = 1\), i.e., is primitive.
EXAMPLES:
sage: Q = BinaryQF([6, 3, 9]) sage: Q.is_primitive() False sage: Q = BinaryQF([1, 1, 1]) sage: Q.is_primitive() True sage: Q = BinaryQF([2, 2, 2]) sage: Q.is_primitive() False sage: rqf = BinaryQF_reduced_representatives(-23*9, primitive_only=False) sage: [qf.is_primitive() for qf in rqf] [True, True, True, False, True, True, False, False, True] sage: rqf [x^2 + x*y + 52*y^2, 2*x^2 - x*y + 26*y^2, 2*x^2 + x*y + 26*y^2, 3*x^2 + 3*x*y + 18*y^2, 4*x^2 - x*y + 13*y^2, 4*x^2 + x*y + 13*y^2, 6*x^2 - 3*x*y + 9*y^2, 6*x^2 + 3*x*y + 9*y^2, 8*x^2 + 7*x*y + 8*y^2] sage: [qf for qf in rqf if qf.is_primitive()] [x^2 + x*y + 52*y^2, 2*x^2 - x*y + 26*y^2, 2*x^2 + x*y + 26*y^2, 4*x^2 - x*y + 13*y^2, 4*x^2 + x*y + 13*y^2, 8*x^2 + 7*x*y + 8*y^2]
See also
- is_reduced()#
Return whether
self
is reduced.Let \(f = a x^2 + b xy + c y^2\) be a binary quadratic form of discriminant \(D\).
If \(f\) is positive definite (\(D < 0\) and \(a > 0\)), then \(f\) is reduced if and only if \(|b|\leq a \leq c\), and \(b\geq 0\) if either \(a = b\) or \(a = c\).
If \(f\) is negative definite (\(D < 0\) and \(a < 0\)), then \(f\) is reduced if and only if the positive definite form with coefficients \((-a, b, -c)\) is reduced.
If \(f\) is indefinite (\(D > 0\)), then \(f\) is reduced if and only if \(|\sqrt{D} - 2|a|| < b < \sqrt{D}\) or [\(a = 0\) and \(-b < 2c \leq b\)] or [\(c = 0\) and \(-b < 2a \leq b\)].
EXAMPLES:
sage: Q = BinaryQF([1, 2, 3]) sage: Q.is_reduced() False sage: Q = BinaryQF([2, 1, 3]) sage: Q.is_reduced() True sage: Q = BinaryQF([1, -1, 1]) sage: Q.is_reduced() False sage: Q = BinaryQF([1, 1, 1]) sage: Q.is_reduced() True
Examples using indefinite forms:
sage: f = BinaryQF(-1, 2, 2) sage: f.is_reduced() True sage: BinaryQF(1, 9, 4).is_reduced() False sage: BinaryQF(1, 5, -1).is_reduced() True
- is_reducible()#
Return whether this form is reducible and cache the result.
A binary form \(q\) is called reducible if it is the product of two linear forms \(q = (a x + b y) (c x + d y)\), or equivalently if its discriminant is a square.
EXAMPLES:
sage: q = BinaryQF([1, 0, -1]) sage: q.is_reducible() True
Warning
Despite the similar name, this method is unrelated to reduction of binary quadratic forms as implemented by
reduced_form()
andis_reduced()
.
- is_singular()#
Return whether
self
is singular, i.e., has zero discriminant.EXAMPLES:
sage: Q = BinaryQF(1, 3, -5) sage: Q.is_singular() False sage: Q = BinaryQF(1, 2, 1) sage: Q.is_singular() True
- is_weakly_reduced()#
Check if the form \(ax^2 + bxy + cy^2\) satisfies \(|b| \leq a \leq c\), i.e., is weakly reduced.
EXAMPLES:
sage: Q = BinaryQF([1, 2, 3]) sage: Q.is_weakly_reduced() False sage: Q = BinaryQF([2, 1, 3]) sage: Q.is_weakly_reduced() True sage: Q = BinaryQF([1, -1, 1]) sage: Q.is_weakly_reduced() True
- is_zero()#
Return whether
self
is identically zero.EXAMPLES:
sage: Q = BinaryQF(195751, 37615, 1807) sage: Q.is_zero() False sage: Q = BinaryQF(0, 0, 0) sage: Q.is_zero() True
- matrix_action_left(M)#
Return the binary quadratic form resulting from the left action of the 2-by-2 matrix \(M\) on
self
.Here the action of the matrix \(M = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\) on the form \(Q(x, y)\) produces the form \(Q(ax+cy, bx+dy)\).
EXAMPLES:
sage: Q = BinaryQF([2, 1, 3]); Q 2*x^2 + x*y + 3*y^2 sage: M = matrix(ZZ, [[1, 2], [3, 5]]) sage: Q.matrix_action_left(M) 16*x^2 + 83*x*y + 108*y^2
- matrix_action_right(M)#
Return the binary quadratic form resulting from the right action of the 2-by-2 matrix \(M\) on
self
.Here the action of the matrix \(M = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\) on the form \(Q(x, y)\) produces the form \(Q(ax+by, cx+dy)\).
EXAMPLES:
sage: Q = BinaryQF([2, 1, 3]); Q 2*x^2 + x*y + 3*y^2 sage: M = matrix(ZZ, [[1, 2], [3, 5]]) sage: Q.matrix_action_right(M) 32*x^2 + 109*x*y + 93*y^2
- polynomial()#
Return
self
as a homogeneous 2-variable polynomial.EXAMPLES:
sage: Q = BinaryQF([1, 2, 3]) sage: Q.polynomial() x^2 + 2*x*y + 3*y^2 sage: Q = BinaryQF([-1, -2, 3]) sage: Q.polynomial() -x^2 - 2*x*y + 3*y^2 sage: Q = BinaryQF([0, 0, 0]) sage: Q.polynomial() 0
- reduced_form(transformation=False, algorithm='default')#
Return a reduced form equivalent to
self
.INPUT:
self
– binary quadratic form of non-square discriminanttransformation
– boolean (default: False): ifTrue
, return both the reduced form and a matrix whosematrix_action_right()
transformsself
into the reduced form.algorithm
– string; the algorithm to use. Valid options are:'default'
– let Sage pick an algorithm (default)'pari'
– use PARI (pari:qfbred or pari:qfbredsl2)'sage'
– use Sage
See also
EXAMPLES:
sage: a = BinaryQF([33, 11, 5]) sage: a.is_reduced() False sage: b = a.reduced_form(); b # optional - sage.libs.pari 5*x^2 - x*y + 27*y^2 sage: b.is_reduced() # optional - sage.libs.pari True sage: a = BinaryQF([15, 0, 15]) sage: a.is_reduced() True sage: b = a.reduced_form(); b # optional - sage.libs.pari 15*x^2 + 15*y^2 sage: b.is_reduced() # optional - sage.libs.pari True
Examples of reducing indefinite forms:
sage: f = BinaryQF(1, 0, -3) sage: f.is_reduced() False sage: g = f.reduced_form(); g # optional - sage.libs.pari x^2 + 2*x*y - 2*y^2 sage: g.is_reduced() # optional - sage.libs.pari True sage: q = BinaryQF(1, 0, -1) sage: q.reduced_form() # optional - sage.libs.pari x^2 + 2*x*y sage: BinaryQF(1, 9, 4).reduced_form(transformation=True) # optional - sage.libs.pari ( [ 0 -1] 4*x^2 + 7*x*y - y^2, [ 1 2] ) sage: BinaryQF(3, 7, -2).reduced_form(transformation=True) # optional - sage.libs.pari ( [1 0] 3*x^2 + 7*x*y - 2*y^2, [0 1] ) sage: BinaryQF(-6, 6, -1).reduced_form(transformation=True) # optional - sage.libs.pari ( [ 0 -1] -x^2 + 2*x*y + 2*y^2, [ 1 -4] )
- small_prime_value(Bmax=1000)#
Return a prime represented by this (primitive positive definite) binary form.
INPUT:
Bmax
– a positive bound on the representing integers
OUTPUT: a prime number represented by the form
Note
This is a very elementary implementation which just substitutes values until a prime is found.
EXAMPLES:
sage: [Q.small_prime_value() # optional - sage.libs.pari ....: for Q in BinaryQF_reduced_representatives(-23, primitive_only=True)] [23, 2, 2] sage: [Q.small_prime_value() # optional - sage.libs.pari ....: for Q in BinaryQF_reduced_representatives(-47, primitive_only=True)] [47, 2, 2, 3, 3]
- solve_integer(n, algorithm)#
Solve \(Q(x, y) = n\) in integers \(x\) and \(y\) where \(Q\) is this quadratic form.
INPUT:
n
– a positive integeralgorithm
–"general"
(default) or"cornacchia"
To use the Cornacchia algorithm, the quadratic form must have \(a=1\) and \(b=0\) and \(c>0\), and
n
must be a prime or four times a prime (but this is not checked).OUTPUT:
A tuple \((x, y)\) of integers satisfying \(Q(x, y) = n\), or
None
if no solution exists.ALGORITHM: pari:qfbsolve or pari:qfbcornacchia
EXAMPLES:
sage: Q = BinaryQF([1, 0, 419]) sage: Q.solve_integer(773187972) # optional - sage.libs.pari (4919, 1337)
If \(Q\) is of the form \([1,0,c]\) as above and \(n\) is a prime or four times a prime, Cornacchia’s algorithm can be used, which is typically much faster than the general method:
sage: Q = BinaryQF([1, 0, 12345]) sage: n = 2^99 + 5273 sage: Q.solve_integer(n) (-67446480057659,<PHONE_NUMBER>488) sage: Q.solve_integer(n, algorithm='cornacchia')<PHONE_NUMBER>7659,<PHONE_NUMBER>488) sage: timeit('Q.solve_integer(n)') # not tested 125 loops, best of 3: 3.13 ms per loop sage: timeit('Q.solve_integer(n, algorithm="cornacchia")') # not tested 625 loops, best of 3: 18.6 μs per loop
sage: Qs = BinaryQF_reduced_representatives(-23, primitive_only=True) # optional - sage.libs.pari sage: Qs # optional - sage.libs.pari [x^2 + x*y + 6*y^2, 2*x^2 - x*y + 3*y^2, 2*x^2 + x*y + 3*y^2] sage: [Q.solve_integer(3) for Q in Qs] # optional - sage.libs.pari [None, (0, -1), (0, -1)] sage: [Q.solve_integer(5) for Q in Qs] # optional - sage.libs.pari [None, None, None] sage: [Q.solve_integer(6) for Q in Qs] # optional - sage.libs.pari [(1, -1), (1, -1), (-1, -1)]
- sage.quadratic_forms.binary_qf.BinaryQF_reduced_representatives(D, primitive_only=False, proper=True)#
Return representatives for the classes of binary quadratic forms of discriminant \(D\).
INPUT:
D
– (integer) a discriminantprimitive_only
– (boolean; default:True
): ifTrue
, only return primitive forms.proper
– (boolean; default:True
)
OUTPUT:
(list) A lexicographically-ordered list of inequivalent reduced representatives for the (im)proper equivalence classes of binary quadratic forms of discriminant \(D\). If
primitive_only
isTrue
then imprimitive forms (which only exist when \(D\) is not fundamental) are omitted; otherwise they are included.EXAMPLES:
sage: BinaryQF_reduced_representatives(-4) [x^2 + y^2] sage: BinaryQF_reduced_representatives(-163) [x^2 + x*y + 41*y^2] sage: BinaryQF_reduced_representatives(-12) [x^2 + 3*y^2, 2*x^2 + 2*x*y + 2*y^2] sage: BinaryQF_reduced_representatives(-16) [x^2 + 4*y^2, 2*x^2 + 2*y^2] sage: BinaryQF_reduced_representatives(-63) [x^2 + x*y + 16*y^2, 2*x^2 - x*y + 8*y^2, 2*x^2 + x*y + 8*y^2, 3*x^2 + 3*x*y + 6*y^2, 4*x^2 + x*y + 4*y^2]
The number of inequivalent reduced binary forms with a fixed negative fundamental discriminant \(D\) is the class number of the quadratic field \(\QQ(\sqrt{D})\):
sage: len(BinaryQF_reduced_representatives(-13*4)) 2 sage: QuadraticField(-13*4, 'a').class_number() 2 sage: p = next_prime(2^20); p 1048583 sage: len(BinaryQF_reduced_representatives(-p)) # optional - sage.libs.pari 689 sage: QuadraticField(-p, 'a').class_number() # optional - sage.libs.pari sage.rings.number_field 689 sage: BinaryQF_reduced_representatives(-23*9) [x^2 + x*y + 52*y^2, 2*x^2 - x*y + 26*y^2, 2*x^2 + x*y + 26*y^2, 3*x^2 + 3*x*y + 18*y^2, 4*x^2 - x*y + 13*y^2, 4*x^2 + x*y + 13*y^2, 6*x^2 - 3*x*y + 9*y^2, 6*x^2 + 3*x*y + 9*y^2, 8*x^2 + 7*x*y + 8*y^2] sage: BinaryQF_reduced_representatives(-23*9, primitive_only=True) # optional - sage.libs.pari [x^2 + x*y + 52*y^2, 2*x^2 - x*y + 26*y^2, 2*x^2 + x*y + 26*y^2, 4*x^2 - x*y + 13*y^2, 4*x^2 + x*y + 13*y^2, 8*x^2 + 7*x*y + 8*y^2]


MUMBAI -- When Phase 1 of the Mumbai Monorail launched this February, a meme gained traction on social media. The Photoshopped image depicted one of the clean, futuristic-looking monorail engines used at Walt Disney World's Epcot Center overflowing with Indian railway passengers clinging to its sleek surface for dear life. Mumbaikars immediately got the joke. Due to a high-density population of over 22 million people, Mumbai is a place where political promises and city planning go to die.
Now approaching the fourth month of the monorail's service, the joke appears to be wrong in its prediction of passenger overflow, but correct in the spirit of its satire. Because while the Mumbai Suburban Railway still routinely spills over with passengers, sometimes with fatal consequences, Phase 1 of the Mumbai Monorail seems downright barren by comparison, leading to concerns that it doesn't help one of the world's worst commuting cities enough to justify its costs.
The project was created using India's popular Public Private Partnership model, a system that uses help from private companies to spur large scale public works projects into development. PPPs, as they are often called, are meant to eliminate bureaucratic inefficiencies, but critics claim that they only create new problems.
Running only nine kilometers from the eastern suburb of Chembur to Wadala, the seven-stop, 19-minute journey is losing an average of more than $240,000 dollars per month on operational costs, according to figures released in April by the Mumbai Metropolitan Region Development Authority, the state-based organization that runs the monorail. And recent ridership numbers don't portend a rapid turn around. After an inaugural run of around 20,000 passengers per day in the train's first week, when the monorail ran from 7 a.m. to 3 p.m., April's numbers were closer to 15,000 passengers per day, despite the addition of a more commuter-friendly timetable of 6 a.m. to 8 p.m. As a point of comparison, the Mumbai Suburban Railway can transport as many as eight million people in one day -- a number about the population of New York City.
Comments
Comment


Performing job...
- Attempts: {{job.attempts}}
- Last Run: {{job.run_at | date:'medium'}}
- Enqueued: {{job.created_at | date:'medium'}}
<{{job.handler.object_type}} id: {{job.handler.object_id}}>
{{job.handler.object_attributes}}
Method: :{{job.handler.method_name}}
Payload
{{arg}}
Backtrace
{{job.last_error}}


| Class | Description |
|---|---|
| App |
App
|
| AppDeviceDetails |
AppDeviceDetails
|
| AppOAuth |
AppOAuth
|
| AttributeState |
AttributeState
|
| CapabilityReference |
CapabilityReference
|
| CapabilityStatus |
A map of Attribute name to Attribute state.
|
| CapabilitySubscriptionDetail |
Details of a subscription of source type CAPABILITY.
|
| ComponentStatus |
A map of capabilityId to Capability status.
|
| ConfigEntries |
A list of available configuration values.
|
| ConfigEntry |
A configuration value type and the correspodning configuration.
|
| ConfigMap |
A multi-map of configurations for an Installed App.
|
| CreateAppResponse |
A response object containing the newly created App and OAuth client details.
|
| CreateDeviceCommandsResponse |
CreateDeviceCommandsResponse
|
| CreateDeviceEventsResponse |
CreateDeviceEventsResponse
|
| CreateDeviceProfileRequest |
CreateDeviceProfileRequest
|
| CreateLocationRequest |
CreateLocationRequest
|
| CreateOrUpdateAppRequest |
CreateOrUpdateAppRequest
|
| CreateOrUpdateLambdaSmartAppRequest |
Details related to a Lambda Smart App implementation.
|
| CreateOrUpdateWebHookSmartAppRequest |
Details related to a WebHook Smart App implementation.
|
| CronSchedule |
CronSchedule
|
| DeleteAppResponse |
An empty object 200 response.
|
| DeleteDeviceCommandsResponse |
DeleteDeviceCommandsResponse
|
| DeleteDeviceProfileResponse |
DeleteDeviceProfileResponse
|
| DeleteInstalledAppResponse |
The number of deleted installed apps.
|
| DeleteLocationResponse |
An empty object response.
|
| DeleteScheduleResponse |
Delete schedule response
|
| Device |
Device
|
| DeviceCommand |
DeviceCommand
|
| DeviceCommandsRequest |
DeviceCommandsRequest
|
| DeviceComponent |
DeviceComponent
|
| DeviceConfig |
A device and component configuration with any required permissions.
|
| DeviceEventsRequest |
DeviceEventsRequest
|
| DeviceInstallRequest |
DeviceInstallRequest
|
| DeviceInstallRequestApp |
DeviceInstallRequestApp
|
| DeviceProfile |
DeviceProfile
|
| DeviceProfileMetadata |
Additional information about the device profile.
|
| DeviceProfileReference |
DeviceProfileReference
|
| DeviceStateEvent |
DeviceStateEvent
|
| DeviceStatus |
The status of a Device.
|
| DeviceSubscriptionDetail |
Details of a subscription of source type DEVICE.
|
| DthDeviceDetails |
DthDeviceDetails
|
| Error |
Details about the error.
|
| ErrorResponse |
ErrorResponse
|
| GenerateAppOAuthRequest |
GenerateAppOAuthRequest
|
| GenerateAppOAuthResponse |
A response object containing a new OAuth Client and it's details.
|
| GetAppSettingsResponse |
Settings for a given app
|
| InstallConfiguration |
An configuration instance of an Installed App.
|
| InstallConfigurationDetail |
Encompasses both a configuration value, and any required permissions that maybe needed.
|
| InstalledApp |
InstalledApp
|
| LambdaSmartApp |
Details related to a Lambda Smart App implementation.
|
| Link |
Link
|
| Links |
Links
|
| Location |
Location
|
| OnceSchedule |
OnceSchedule
|
| Owner |
A typed model which provides information around ownership of a specific domain.
|
| PagedApp |
PagedApp
|
| PagedApps |
Represents a single page of Apps available in an account.
|
| PagedDeviceProfiles |
PagedDeviceProfiles
|
| PagedDevices |
A paginated array of devices.
|
| PagedInstallConfigurations |
Represents a single page of InstallConfiguration models available for an InstalledApp.
|
| PagedInstalledApps |
Represents a single page of InstalledApps available in a user account.
|
| PagedLocation |
A slimmed down representation of the Location model.
|
| PagedLocations |
Represents a single page of Locations available in a user account.
|
| PagedSchedules |
An array of schedules
|
| PagedSubscriptions |
An array of subscriptions
|
| PermissionConfig |
Required permissions for the installed app.
|
| SceneArgument |
A capability command argument
|
| SceneCapability |
A device component capability
|
| SceneCommand |
A component capability command
|
| SceneComponent |
A component of the scene device
|
| SceneDevice |
SceneDevice
|
| SceneDeviceRequest |
JSON structure for a device when creating a Scene
|
| ScenePagedResult |
ScenePagedResult
|
| SceneRequest |
JSON body for creating or updating a Scene
|
| SceneSummary |
SceneSummary
|
| Schedule |
Schedule
|
| ScheduleRequest |
ScheduleRequest
|
| StandardSuccessResponse |
{\"status\": \"success\"}
|
| StringConfig |
A simple string configuration.
|
| Subscription |
Subscription
|
| SubscriptionDelete |
The number of deleted subscriptions
|
| SubscriptionRequest |
SubscriptionRequest
|
| UpdateAppOAuthRequest |
UpdateAppOAuthRequest
|
| UpdateAppSettingsRequest |
Settings for a given app
|
| UpdateAppSettingsResponse |
Settings for a given app
|
| UpdateDeviceRequest |
UpdateDeviceRequest
|
| UpdateLocationRequest |
UpdateLocationRequest
|
| WebHookSmartApp |
Details related to a WebHook Smart App implementation.
|
| Enum | Description |
|---|---|
| AppType |
Denotes the type of app.
|
| CapabilityDataType |
__DEPRECATED__ only available while migrating from `type` to `schema`
|
| ConfigEntry.ValueTypeEnum |
The value type.
|
| CreateLocationRequest.TemperatureScaleEnum |
The desired temperature scale used within location.
|
| DeviceIntegrationType |
The type of device integration.
|
| InstallConfigurationStatus |
Denotes the current state of a configuration instance.
|
| InstalledAppStatus |
Denotes the current state of an install.
|
| InstalledAppType |
Denotes the type of installed app.
|
| Location.TemperatureScaleEnum |
Gets or Sets temperatureScale
|
| Owner.OwnerTypeEnum |
The account type which owns the specific domain item.
|
| SceneCapability.StatusEnum |
The status of the capability
|
| StandardSuccessResponse.StatusEnum |
Gets or Sets status
|
| SubscriptionSource |
The type of the event that is being subscribed to.
|
| UpdateLocationRequest.TemperatureScaleEnum |
The desired temperature scale used within location.
|


"Eye" does not touch black border. Female similar, with duller,
more diffuse black areas and 2 seasonal forms: underside hindwing of wet season
"summer" form is yellow; that of dry season "winter" form is mottled with black and pink.
scrub oak groves, open woodland, washes, road edges.
Three flights in the southern states from May-June, July-August,
and September-April. Northern colonists have one generation per year, or do not reproduce at all.


| 003:020 Khan | : |
So if they dispute with you (Muhammad SAW) say: "I have submitted myself to Allah (in Islam), and (so have) those who follow me." And say to those who were given the Scripture (Jews and Christians) and to those who are illiterates (Arab pagans): "Do you (also) submit yourselves (to Allah in Islam)?" If they do, they are rightly guided; but if they turn away, your duty is only to convey the Message; and Allah is All- Seer of (His ) slaves. |
| 003:020 Maulana | : |
But if they dispute with thee say: I submit myself entirely to Allah and (so does) he who follows me. And say to those who have been given the Book and the Unlearned (people): Do you submit yourselves? If they submit, then indeed they following the right way; and if they turn back, thy duty is only to deliver the message. And Allah is Seer of the servants. |
| 003:020 Pickthal | : |
And if they argue with thee, (O Muhammad), say: I have surrendered my purpose to Allah and (so have) those who follow me. And say unto those who have received the Scripture and those who read not: Have ye (too) surrendered? If they surrender, then truly they are rightly guided, and if they turn away, then it is thy duty only to convey the message (unto them). Allah is Seer of (His) bondmen. |
| 003:020 Rashad | : |
If they argue with you, then say, "I have simply submitted myself to GOD; I and those who follow me." You shall proclaim to those who received the scripture, as well as those who did not, "Would you submit?" If they submit, then they have been guided, but if they turn away, your sole mission is to deliver this message. GOD is Seer of all people. |
| 003:020 Sarwar | : |
(Muhammad), if the People of the Book argue against you, say, "I and those who follow me have submitted ourselves to God." Ask the People of the Book and the illiterate ones, "Have you embraced Islam?" If they embrace Islam, they will find guidance but if they turn away, your task is just to preach. God knows all about His servants. |
| 003:020 Shakir | : |
But if they dispute with you, say: I have submitted myself entirely to Allah and (so) every one who follows me; and say to those who have been given the Book and the unlearned people: Do you submit yourselves? So if they submit then indeed they follow the right way; and if they turn back, then upon you is only the delivery of the message and Allah sees the servants. |
| 003:020 Sherali | : |
But if they dispute with thee, say 'I have surrendered myself completely to ALLAH, and also those who follow me.' And say to those who have been given the Book and to the Unlearned, 'Have you also surrendered? If they surrender, then they will surely be rightly guided, but if they turn back, then thy duty is only to convey the Message. And ALLAH is Watchful of HIS servants. |
| 003:020 Yusufali | : |
So if they dispute with thee, say: "I have submitted My whole self to Allah and so have those who follow me." And say to the People of the Book and to those who are unlearned: "Do ye (also) submit yourselves?" If they do, they are in right guidance, but if they turn back, Thy duty is to convey the Message; and in Allah's sight are (all) His servants. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > صفات الله تعالى > البصير Pillars of Islam> Islamic> Oneness of Allah> His Glory's Characteristics> All Seer أركان الإسلام > الدين > حقيقة الإسلام Pillars of Islam> Religion> The Reality of Islam الدعوة إلى الله > حدودها > التساهل مع المسالمين The Call for Allah> Its Limits> Lenient with the Peace-Loving الإنسان والعلاقات الاجتماعية > المجتمعات > الشعوب والقبائل والفرق Man and The Social Relations>The Societies>Peoples, Tribes and Groups الديانات > أهل الكتاب: ( اليهود و النصارى) > وجوب التساهل معهم(مع غير المحاربين) Religions> The People of the Book (the Jews and the Christians)> The Necessity to be Easy with them (with the Non-Fighters)
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


PDF Expert vs PDF XChange
I work in engineering - one of the main formats that gets shared around a lot is the humble PDF. It often means that you can view exactly what the other person sees without the hassle of sharing additional items - I’m thinking CAD files here, where an architect may include a lot of references to external files within the CAD file that matches what the architect uses on the system, but won’t be installed in the same location or at all, on the clients machine.
In this regard, PDF files work nicely, allowing occupants to view what the other person can see, almost exactly. I get plans sent to me in PDF and I’m expected to mark them up with comments, before returning.
On Windows, when I worked for big firms, I used Bluebeam and when I’ve been with smaller firms, we used PDF XChange Editor. I also purchased myself a copy of PDF XChange Editor, as it’s vastly cheaper than Bluebeam and Adobe, but does a similar job 1.
On the Mac, options are slightly more limited. I’ve used Preview for quick comments in the past, but in my mind, it’s not the easiest and quickest software if you need to make notes. However, it was cheap (free!) and worked for basic tasks when I was on the Mac. However, with the lockdown, I’ve been using the Mac more often and therefore, have needed something with a bit more power.
PDF Expert is available on the iPad and the Mac. I’ve been using it for years on the iPad - in fact, possible almost as much as 10 years, as I seem to recall using it as far back as 2011 for parts of my PhD. However, I’ve never had reason to use the Mac version.
With PDF Export, the macOS version is available either through the app store, or via Readdle themselves. They have the iOS specific app as well, so it’s entirely cross platform which is good. PDF XChange works on Windows only, however, annotations and items you do will be available for editing on another platform.
Features
The macOS version appears to match the iPadOS version in terms of features. However, that isn’t necessarily a good thing, as whilst it is easier to use than Preview for markups, it doesn’t include the full number of features that say PDF XChange includes.
I mean just looking at the toolbar of PDF XChange shows that it has a greater range of features than PDF Expert.
Compare this against the features of PDF Expert. There’s quite a difference between the two.
One glaring issue in my mind is call out boxes - PDF XChange offers these, whilst PDF Expert does not. I find these to be an essential tool, as I’m often commenting on drawings, and this points to the area that I’m interested in or commenting on. Whilst PDF Expert (and PDF XChange) support comments, I don’t like using these, as whilst they can be placed anywhere (and therefore can be placed where I’m commenting on), they require the end user to actively click on them, which means that various comments can get missed. The other option is to create text boxes and then arrows to go with them.
In addition, one of the other features that comes in handy is the measurement tool. This is a feature that PDF Expert does not have in either app. Whilst the implementation within PDF XChange is a bit clunky in comparison to that of Bluebeam, as it’s a fraction of the price, this is less of an issue! And it’s a feature that PDF Expert doesn’t have at all.
One of the features I haven’t used previously with PDF XChange, but I’ve recently had to use is the OCR feature. I had scanned in a book to the PC as a PDF and PDF XChange was able to collect all the scans together in to a single large PDF and was then able to OCR the scans. I’ve not paid for the enhanced OCR, and the standard one did pretty well on its own. The additional $15 may be worth it if you’re a regular OCR user - which I’m not.
Just in general, the more I use the two together, the more I miss PDF XChange when I’m on the Mac. Like “snap to image” where my annotations can snap to the PDF drawings, polygon tools, so I can add multi sided shapes to the drawings 2.
Conclusions
My day to day operating system at work is Windows. This is I’m given and it does the job, even if I dislike certain things about it and sometimes I would prefer macOS. Recently, as I’ve been using macOS during the lockdown, I’ve had more freedom, as my work PC remains at work and I get to use my home Mac Mini.
However, I also have access to a Windows machine, and when I really have to work with the PDF’s a lot, I’ll load up Windows and access via remote desktop to undertake what I need to do. It turns out that the PDF Expert can’t match some of the alternatives.
For me, the price of PDF Expert on the Mac is hard to justify. It’s £80, whilst PDF XChange worked out at £38. That’s half the price, and I would argue, well over double the features. True, you’ve also got economies of scale - i.e. the Windows software is likely to be sold more often, as Windows has a large user base, but even then, I don’t think the price tag for PDF Expert is worth it. I purchased both - having got education discount for PDF Expert, I think even that is pricier than that is should be, as Preview is actually reasonably good on the Mac.


net
.
sansa_stack
.
ml
.
spark
.
clustering
utils
package
utils
Visibility
Public
All
Type Members
case class
DBCLusterer
(
eps:
Double
,
minPts:
Int
)
extends
Product
with
Serializable
class
DataFiltering
extends
Serializable
class
DataProcessing
extends
Serializable
load TomTom dataset
case class
Grid
(
poiArrBuf:
ArrayBuffer
[
DbPOI
]
,
eps:
Double
)
extends
Product
with
Serializable
Value Members
object
Common
Ungrouped


| DOSE: |
18 mg |
oral |
4-HO-MET |
(capsule) |
Consumed: 18 mg 4-HO-MET
Preface: ***Three weeks before this experience I had used 50 mg of phenethylamine psychedelics at a music festival. I noticed adverse, long-lasting physical side effects including frontal-headaches, wrist pain, and chest pain exactly where the heart is. The 4-HO-MET has healed me of all of these symptoms.
I have used shrooms about a dozen times. I typically have very powerful and unsettling reactions to shrooms, including nausea (I have thrown up before). However, I (try) not use them for recreation. I thought that 4-HO-MET might provide a better alternative, because people describe it as a “milder” yet more spiritual version of shrooms.
0:00 – Swallowed a jell capsule that contained the 18 mg of 4-HO-MET. I had been fasting for about 8 hours.
0:20 – Arrived at a tour office that gives tours of an underground cave, tall lookout tower, anti-gravity house, and wildlife park. I began to feel the effects. I felt a little giggly and the lighting looked much brighter
0:45 – As I entered the cave, anxiety began to set in. We were with multiple families with small children, in a very small-enclosed space.
0:50 – At this point, the drug was indistinguishable from shrooms. Nausea begins to set in. I felt very uncomfortable inside of the cave. My interaction with people was extremely limited. I allowed the group to go ahead of me and my brother (who was tripping with me). I began to notice that the rock-patterns would shift.
1:00 – I began to question our safety as we went deeper into the cave. I also began to have adverse physical reactions to this drug, as my heart-rate and breathing felt strange. I was concerned that the metocin would exacerbate the physical symptoms I had noted earlier, which caused me to think about death. I began to have very negative, and sad thoughts about human mortality.
1:15 – The hallucinations really begin to kick in. The cave walls look insane. Our tour guide takes us to a room, and asks if we have ever seen pure darkness? She turns off the lights. I begin to see the typical rainbow-fractals that looked really similar to what I’ve seen on shrooms multiple times. +2
1:30 – We ride a small elevator up to the top of a lookout tower. I feel much better in the open-space, but still feel nauseous
2:30 – The drug is in full effect. It feels very similar to shrooms but a little different. I have very deep, and introspective thoughts regarding our existence. The hallucinations are interesting, I notice the “figure 8” patterns, whatever that means. I cannot stop staring at my face. Everything is just really “shifffttty”. +3
3:00 – I end up going to a park and swimming in a river, and staying there until the effects of the drug wore off. +2
Commentary:
This drug is extremely interesting, and I have noticed long-lasting positive benefits from its use. The differences between metocin and psilocin are like the differences between red and white wine. Do not use this compound thinking that it’ll just be an easy walk in the park. Take it very seriously, at least as seriously as you would when using shrooms. My reaction to metocin was no different than my previous reactions to shrooms, but I react to shrooms much differently than most.
I did not have a really profound experience, but I found this medicine to be more thought provoking and spiritual than shrooms. I do not plan on using any psychedelics for about 3 months. Metocin will be on my list as one of great psychedelics, and I would use it over shrooms any day.
When it comes to drug usage, I listen to Terence’s advise: If it feels really good and you want to use it a second time, it is not a drug worth bothering about. But if it shocks and rattles you to your core, then it’s worth investigating.
Metocin is not simply a “feel-good” drug. It can be an amazing tool for personal and spiritual growth. I do not believe it should ever be used for recreation. Take this very, very seriously.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


New Zealand Bank
Loan Approval Prediction Form
Gender
Select
Male
Female
Martial Status
Select
Married
Single
Number Of Dependents
Educational Background
Select
Graduate
Non Graduate
Employment Background
Select
Self-Employed
Non Self-Employed
Applicant Income (Monthly)
Co-Applicant Income
Loan Amount in $
Loan Term in Days
Credit History
Select
Good
Bad
Property Area
Select
Rural
Semi Urban
Urban
{{ prediction_text }}


Toggle navigation
Links
Templates
Schema
Documents
English
Chineese
French
Signin
User
Control Panel
Logout


Copyright © 2010 Marc Worrell
Behaviours: gen_server.
Authors: Marc Worrell (marc@worrell.nl).
| add_child/2 | Add a child, the child will be added and started. |
| add_child_async/2 | |
| check_children/1 | Check children, try restarting children when they are in 'error' state. |
| code_change/3 | Convert process state when code is changed. |
| delete_child/2 | Delete a child, the child will be terminated and removed. |
| handle_call/3 | Add a child in the stopped state. |
| handle_cast/2 | Async version of the handle_calls({add_child, ...}, ...) above. |
| handle_info/2 | Handle the exit of a child. |
| init/1 | Initiates the server. |
| restart_child/2 | Terminate and restart a child. |
| running_children/1 | Return the list of running children. |
| set_manager_pid/2 | Set the manager pid for this supervisor. |
| start_child/2 | Start a child when it is not running (either failed or stopped). |
| start_child/3 | Start a child when it is not running (either failed or stopped). |
| start_link/1 | |
| start_link/2 | |
| stop_child/2 | Stop a child, the child will be terminated and put in "stopped" state. |
| terminate/2 | This function is called by a gen_server when it is about to terminate. |
| which_children/1 | Return the list of all children and their run state. |
add_child(Pid, ChildSpec) -> any()
Add a child, the child will be added and started.
add_child_async(Pid, ChildSpec) -> any()
check_children(Pid) -> any()
Check children, try restarting children when they are in 'error' state.
code_change(OldVsn, State, Extra) -> {ok, NewState}
Convert process state when code is changed
delete_child(Pid, Name) -> any()
Delete a child, the child will be terminated and removed.
handle_call(Message::Request, From, State) -> {reply, Reply, State} | {reply, Reply, State, Timeout} | {noreply, State} | {noreply, State, Timeout} | {stop, Reason, Reply, State} | {stop, Reason, State}
Add a child in the stopped state.
handle_cast(Message, State) -> any()
Async version of the handle_calls({add_child, ...}, ...) above
handle_info(Info, State) -> {noreply, State} | {noreply, State, Timeout} | {stop, Reason, State}
Handle the exit of a child
init(InitialChildren::Args) -> {ok, State} | {ok, State, Timeout} | ignore | {stop, Reason}
Initiates the server.
restart_child(Pid, Name) -> any()
Terminate and restart a child.
running_children(Pid) -> any()
Return the list of running children
set_manager_pid(Pid, ManagerPid) -> any()
Set the manager pid for this supervisor
start_child(Pid, Name) -> any()
Start a child when it is not running (either failed or stopped)
start_child(Pid, Name, Timeout) -> any()
Start a child when it is not running (either failed or stopped)
start_link(Args) -> any()
start_link(SupName, Args) -> any()
stop_child(Pid, Name) -> any()
Stop a child, the child will be terminated and put in "stopped" state
terminate(Reason, State) -> void()
This function is called by a gen_server when it is about to terminate. It should be the opposite of Module:init/1 and do any necessary cleaning up. When it returns, the gen_server terminates with Reason. The return value is ignored.
which_children(Pid) -> any()
Return the list of all children and their run state.
Generated by EDoc, Apr 11 2012, 20:41:27.


NAM 1: Court rejects prosecution’s adjournment request
The prosecution in the case in which embattled Chief Executive Officer of Menzgold Ghana Limited Nana Appiah Mensah (NAM1) is standing trial has demanded a long adjournment following “recent discoveries.”
The state was expected to substitute the old charges with a new one where 48 new charges are expected to be added to the 13 that were earlier slapped on him.
In Court on Wednesday, ASP Sylvester Asare informed the Accra Circuit Court presided over by Her Honour Mrs Harriete Akweley Quaye that they want a long adjournment “preferably January.”
He said investigations are in progress and “We are at an advanced stage and we humbly invite the court to give us a long date preferable first week in January.
He said prosecution wanted to substitute the charge sheet with an amended version but upon recent discoveries, they wanted long date.
The court wondered why the prosecution did do the necessary things before filing the charge sheet.
The court said adjourning the case to January next year is not appropriate and asked the parties to take a date in December.
The prosecutor and defence team led by Andrew Twum who held brief for Lawyer Kwame Akuffo settled on December 23, 2019.
Nana Appiah Mensah, affectionately called NAM1 and three others have been charged with fraud.


Table Of Contents¶
- Omics Pipe
- About Omics Pipe
- Using Omics Pipe
- OmicsPipe on the Amazon Cloud (AWS EC2) Tutorial
- Step 1: Create an AWS Account
- Step 2 (Mac or Linux): Install StarCluster and download config/plugins
- Step 2 (Windows): Load the the OmicsPipe on AWS docker image on your machine
- Step 3: Configure StarCluster
- Step 4: Create AWS Volumes
- Step 5: Launch the Cluster
- Step 6: Upload data to the cluster
- Step 7: Run the test pipelines
- Step 8: Run the pipelines with your own data
- Installing extra software
- To build your own docker image
- Add storage > 1TB to the cluster using LVM (for advanced users)
- Add storage > 1TB to the cluster using RAID 0 (for advanced users)
- Backing up your data to S3
- Omics Pipe Tutorial
- Omics Pipe Tutorial – Configuring the Parameter File
- Omics Pipe Tutorial – Creating a Custom Pipeline Script
- Omics Pipe Tutorial – Adding a New Module (Tool)
- Omics Pipe Available Pipelines
- RNA-seq (Tuxedo)
- RNA-seq(Anders 2013)
- Whole Exome Sequencing (GATK)
- Whole Genome Sequencing (GATK)
- Whole Genome Sequencing (MUTECT)
- ChIP-seq (MACS)
- ChIP-seq (HOMER)
- Breast Cancer Personalized Genomics Report- RNAseq
- TCGA Reanalysis Pipeline - RNAseq
- TCGA Reanalysis Pipeline - RNAseq Counts
- miRNAseq Counts (Anders 2013)
- miRNAseq (Tuxedo)
- All Available Modules
- Reference Databases Needed
- Third Party Software Dependencies
- R Packages Needed
- RNA-seq (Tuxedo)
- RNA-seq (Anders 2013)
- Whole Exome Sequencing (GATK)
- Whole Genome Sequencing (GATK)
- Whole Genome Sequencing (MUTECT)
- ChIP-seq (MACS)
- ChIP-seq (HOMER)
- Breast Cancer Personalized Genomics Report- RNAseq
- TCGA Reanalysis Pipeline - RNAseq
- TCGA Reanalysis Pipeline - RNAseq Counts
- miRNAseq Counts (Anders 2013)
- miRNAseq (Tuxedo)
- System Requirements
- RNA-seq Tuxedo Modules
- RNA-seq Count Based Modules
- Breast Cancer Personalized Genomics Report- RNAseq
- TCGA Reanalysis Pipeline - RNAseq
- RNA-seq Count Based Modules- TCGA
- miRNA-seq Tuxedo Modules
- miRNA-seq Count Based Modules
- ChIP-seq Modules – HOMER
- ChIP-seq Modules – MACS
- Whole Genome and Whole Exome Sequencing Modules
- Whole Genome Sequencing (MUTECT)
- All Available Modules
- Version History
- Copyright & License


Clint Eisenzimmer
13157 Summit Grove Pkwy. Thornton, CO 80241 • Phone:<PHONE_NUMBER>
GitHub Profile Website: https://clei1719.github.io
GitHub: https://github.com/clei1719
Email<EMAIL_ADDRESS>PROFESSIONAL EXPERIENCE
Best-Buy(Part-Time)
Geek Squad Advanced Repair Technician • Boulder, CO 08/1/2019 – Current
U.S. Army
Network Switching Systems Operator/Maintainer • Ft. Bragg, NC 06/1998 – 05/2002
TECHNICAL EXPERIENCE / PROJECTS
SOFTWARE
• C++ • Java • Android Studio • Linux • Bash • HTML • CSS • Node js • JavaScript • Python
PROJECTS:
C++ FINAL PROJECT
Old school Text MUD that leverages the power of object oriented programming, by having a working shop to buy wares, a randomized environment system which spawns monsters based on probability only in those areas. The player has a leveling system which augments all player stats including health, stamina, mana, strength, dexterity, parry, dodge, and much more.
DATA STRUCTURES PROJECT
Leveraged a randomized undirected graph to generate a trivia game that allows the player to select all edges as worlds to travel to, and before traveling along an edge they are asked a Marvel question. If they get it right then they get to save the planet they move to, if not then the computer gets to eat a planet. Goal is to get to Thanos and defeat him.
SOFTWARE DEVELOPMENT
Wacky Tanks is a HTML embedded game that leverages full stack development and sever communication with multiple clients.
http://wackytanks.herokuapp.com/signup - Click the register button to have some fun!
ROBOTICS
Sparki Arduino, and ROS applications developed to move Sparki using odometry and complex algorithms to tailor behaviors necessary to make Sparki navigate obstacles, follow lines, and scan objects for computer vision.
ANDROID APP
Developed a Java based app using Android Studio to make a Rock,Paper, Scissors game in less than one week. ( Self-Taught).
COMPUTER GRAPHICS
Used OpenGL (C Programming Language) to create primitive Objects, create lighting, textures, animation, and perspective viewing. Made a project that has an animated UFO flying by some houses with the eye of Solomon overlooking the scene.
EDUCATION
UNIVERSITY OF COLORADO (CU BOULDER) BOULDER, CO.
BS for Computer Science - Currently Attending – Grad 2021 - GPA: 3.4
HILLSBOROUGH COMMUNITY COLLEGE TAMPA, FL/BRANDON, FL
AA for Engineering/Computer Science - August 2014 – 05/2018 - GPA: 3.6
Page 1


def setup_platform(hass, config, add_devices, discovery_info=None):
Find and return Vera lights.
add_devices(get_devices(hass, config))
class VeraSwitch(SwitchDevice):
def setup_platform(hass, config, add_devices_callback, discovery_info=None):
Find and return Vera switches.
add_devices_callback(
VeraSwitch(device, VERA_CONTROLLER) for
device in VERA_DEVICES["switch"])
class VeraSwitch(VeraDevice, SwitchDevice):


This is a long report but very informative. I have done many psychedelics i.e. mushrooms, dxm, dmt, lsd, high doses of marijuana and OTC drugs that contain alkaloids found in belladonna and datura inoxia and low doses of Datura. However, I have never expierenced anything at all similar to Salvia. It can honestly turn your world upside down before you even know what hit you. Hopefully this report will help people make a decision about this extremely potent chemical. This substance can truly change your life.
The first time I smoked Salvia was about 10 months ago while I was in Vermont with some of my friends. We had rented a house in the mountains and I was having a great time. We bought some 10X from a Headshop in Burlington. I was the first person in the household to smoke the extract and honestly the only one who understood what Salvia was. I was more prepared than any other person in the house. I took a large hit of the extract. Maybe .25 gram, possibly a little less. I held the hit in for as long as possible and before I even blew the smoke out, I felt effects. Overwhelming laughter was the initial feeling. What was so funny? I have no clue. I stood up and immediately it felt as though I had been pushed and pulled. I had no control over this and I ended up in a bathtub laughing hysterically and not understand why. This lasted for several more minutes and I returned to baseline.
I smoked Salvia again the following afternoon with one other person. My first experience wasn't what I expected because there were about 7 or 8 other people in the room and the setting wasn't right. The other person put on some soothing music and we filled a water pipe with again about .25 gram. Once again I took the first hit. I held the hit in as long as I could and before I knew it I was staring bunkbed above me. Every time I smoke Salvia the first thing that happens to me is a massive smile from ear to ear and I am at loss for words.
A beautiful river formed right before my eyes. This was unique and outstanding. The water was coming towards me and the river was getting larger. I heard a woman's voice. At the time I had been somewhat upset with the girl I love and I believe that the voice was in a sense hers. The voice was letting me know not to fear what happening to me, but to embrace it, learn to love it and to keep her in my heart. At this point in time, this was by far the most psychedelic moment I have ever had, even more so than Dimethyltryptamine. This went on for a moment and all I could say was 'Beautiful river. Beautiful voice'.
Unfortunately after about 4 or 5 minutes of this some of the other people in the house came downstairs and totally ruined what I was embarking on. They barged in the room and were loud and talking to me. This was very upsetting due to the fact that I was really enjoying my time.
Me and my friends left Vermont and I had the remaining half gram of Salvia. I was very excited because I knew that my experiences were not as strong as they could be. The night after I got home from Vermont, I decided to once again smoke Salvia. I went into my room and locked my door. I turned off all of the lights but one very dim light. I smoked the largest portion I had tried at this time and once again I held the smoke in for as long as possible. What happened after this I cant recall or begin to explain. I left my body and was sent to another universe. Another place and time. I remember hearing voices, and it was like I lived another life in another time.
I remember trying so desperately to open my eyes but it was so hard. Every time I seemed to open my lids I visualized a huge black room and at the end I saw a door opening. The more I opened my eyes the more the door would open, until eventually both of my eyes were open. This was the end of the most intense journey of my life. About 15 or 20 minutes of pure catatonic exstacy. I woke up in my room with my door wide open and the pipe still sitting on my nightstand. I was very confused because I knew I locked my door and I was sure of it. I went to ask my brother what had happened to me and he told me I had gone downstairs and talked to my parents and had a full conversation (the voices I heard during the journey). Every time I smoke Salvia the effects seem to be much more intense. I returned to baseline about an hour after I smoked the Salvia.
My last two Salvia experiences were about a month ago. I was in Chicago, Illinois visiting the girl that I love. Some friends and I decided to buy some Salvia 20X and smoke it that night. I was so pumped. I had never smoked Salvia that strong and I knew that it was going to be quiet a night. My friend Dustin who is experienced with psychedelics was the first to try it. I gave him the first hit only because he had never done it prior and I wanted to see what kind of hits I should give out. He took his hit and he was totally inebriated. He was crawling on the floor and wouldn't respond back to simple questions like 'Are you okay?' and 'Your going to be fine'.
There was about 15 people in the house at this time so I decided to take my hit in a room where there wasn't anyone but about 3 people. We got into the room and while I was taking my hit about 6 or 7 other people ran into the room which was disappointing. The initial effect was a wormhole. These 'wormholes' are extremely unique and intriguing. I can recall saying something like 'You guys have to leave this room right now, please leave.' of course nobody did and after I came down I asked them if I said this. They said I said nothing. This is the 'trip' that I remember most.
After about a minute of laying on the bed, feeling as though I had died and passed on, I stood up (that's what my friends say). I remember walking for what seemed like hours on end around a beautiful lake holding hands with this beautiful woman. The lake was surrounded by very odd mountains.   They were very 2-D, as much of my visuals from Salvia A are. But they seemed so real and everything was perfect. I was with the girl again. At the time she wasn't there and I thought that she was upset with me so she was on my mind when I smoked the Salvia. We walked around this lake and the beautiful mountains and laughed. We cried and we shared our deepest secrets. My friends told me that all I was saying was 'blue mountains...beautiful blue mountains'.
After about 8 or 10 minutes of this alternative universe I snapped back into reality. I was standing in the middle of the hallway and trying to move. However, I couldn't and it seemed as though my legs were knee deep in cement. I couldn't move at all. The weird thing about this is that two friends tried to lift me up and couldn't even make me budge. They just stayed there and helped me remain stable. After about 2 minutes of this I started jumping in a very particular way to the bed I was trying to get too. I tend to jump sparatically when I'm on psychedelics, even dmx which is supposed to induce 'robowalk'.
I lie on this bed and me and two girls have very in depth conversations and I let them know that the feelings I have for this girl are unbearable. This girl has a boyfriend and at the time it hurts me so much just to even think about it. They said that I told them that I missed her about 15 times in a half hour talk. While we were talking I was lying down with an arm over my eyes. I was seeing kalediscopes and tunnels. They were amazing. I got down to baseline about an hour after smoking the Salvia.
About a week later (St. Pattys Day to be exact) I smoked some Salvia 5X in my backyard with some buddies around a campfire. I have read reports of what's to be known as 'reversed tolerence' with Salvia. This happened to me. Though this experience wasn't nearly as strong as my previous two, the Salvia 5X really was a much more intense experience than the first time with 10X. We packed a pipe and passed it around. I took a large hit and held it in. I was drunk at the time, which might have had something to do with the intensity. I remember taking a picture of everyone in my mind and closing my eyes and pointing to my friends and telling them their names. This was odd because there was about 10 - 12 people there and they had scattered around through the night. Shortly after this my friends left and I wrote the most beautiful poem I have ever written. I came back to baseline about 20 minutes after smoking the Salvia.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


For some reason a lot of people dislike anime. Probably because of the voice acting, or the weird concepts. But there's a lot of good that comes from anime's origin: Manga.


Congradulations, you know your literary devices!
Literary Devices
Match the term to the correct definition or example.
Skip


Component: HplCC2420SpiC
generic configuration HplCC2420SpiC()
HPL implementation of the SPI bus for the ChipCon CC2420 radio
connected to a TI MSP430 processor.
- Author:
-
Jonathan Hui<EMAIL_ADDRESS>- Version:
-
$Revision: 1.4 $ $Date: 2006-12-12 18:23:44 $
Provides
Wiring


Bills included
Long or short term
This beautiful room is situated in an ideal location in St Lucia with quite friendly housemates. It is less than 10 minutes walk in one direction to UQ and a major bus station and in the other direction less than 5 minutes to an IGA, Post Office, Bottle-shop and 10+ restaurants. This house is very spacious and well looked after, and would be the perfect place for a UQ student. Rent includes a weekly cleaner and all bills except electricity


{% macro navbar(config) %}
We work to promote knowledge and greater interest in the science, design, development, language, management, and applications of modern computing on the Twin Cities campus and around the Twin Cities area.


WITNESS LIST Public Safety Committee March 5, 2001-12:30P HB 503 For: Denholm, John (Self and Harris County Sheriff Tommy Thomas) Gonzalez Jr., Sigifredo (Self and Sheriffs Association of Texas) Lindsey, Gary (Dallas County Sheriff Jim Bowles) Lyons, Steve (Houston Police Department) Muse, Rick (Denton County Sheriff's Office) Powell, Captain Bob (Denton County Sheriff's Office) Scott, Rider (Denton County) Zacharias, Larry (City of Richardson) Against: Findeisen, Les (Texas Motor Transportation Association) Stewart, Micheal (Texas Aggregates and Concrete Association) On: Hickman, Ron (Self) Werlein, S.H. "Hal" (Justices of the Peace and Constable Association of Texas) HB 780 For: DeLord, Ronald (CLEAT) Elkin, Bill (Houston Police Retired Officer's Association) Gonzales Jr., Sigifredo (Self and Sheriffs Association of Texas) Sanders, Stephen (Texas State Lodge Fraternal Order of Police, Houston Police Patrolmen's Union) HB 940 For: Atkinson, Johnny (Associated Security Services and Investigators of the State of Texas) On: McGlasson, Jerry (Texas Commission on Private Security)


|
SideCar
|
Macros | |
| #define | assertTrue(C) _assertTrue(C,#C,__FILE__,__LINE__) |
| UnitTest assertion macro that checks a C++ expression for truth. More... | |
| #define | assertFalse(C) _assertFalse(C,#C,__FILE__,__LINE__) |
| UnitTest assertion macro that checks a C++ expression for truth. More... | |
| #define | assertEqual(E, A) _assertEqual(E,A,__FILE__,__LINE__) |
| UnitTest assertion macro that checks that two values are equal. More... | |
| #define | assertNotEqual(E, A) _assertNotEqual(E,A,__FILE__,__LINE__) |
| UnitTest assertion macro that checks that two values are unequal. More... | |
| #define | assertEqualEpsilon(E, A, D) _assertEqual(E,A,D,__FILE__,__LINE__) |
| UnitTest assertion macro that checks that one value differs from another by no more than a given epsilon value. More... | |
| #define | assertNotEqualEpsilon(E, A, D) _assertNotEqual(E,A,D,__FILE__,__LINE__) |
| UnitTest assertion macro that checks that one value differs from another by at least a given epsilon value. More... | |
| #define assertEqual | ( | E, | |
| A | |||
| ) | _assertEqual(E,A,__FILE__,__LINE__) |
UnitTest assertion macro that checks that two values are equal.
Can only be used inside a method of a TestObj class, since it invokes the TestObj::assertEQ() method. Relies on the '==' operator to perform the equality check. If the equality check fails, a UnitTestException is thrown.
| E | expected test value |
| A | actual test value |
Definition at line 45 of file TestObj.h.
Referenced by SideCar::Algorithms::TestBase::test().
| #define assertEqualEpsilon | ( | E, | |
| A, | |||
| D | |||
| ) | _assertEqual(E,A,D,__FILE__,__LINE__) |
UnitTest assertion macro that checks that one value differs from another by no more than a given epsilon value.
Can only be used inside a method of a TestObj class since it invokes the TestObj::assertEQ() method. If the delta between the two values is greater than the given epsilon value, a UnitTestException is thrown.
| E | expected test value |
| A | actual test value |
| D | epsilon value |
| #define assertFalse | ( | C | ) | _assertFalse(C,#C,__FILE__,__LINE__) |
UnitTest assertion macro that checks a C++ expression for truth.
Can only be used inside a method of a TestObj class, since it invokes the TestObj::assertTrue() method. If the given condition evaluates to false, a UnitTestException is thrown which contains a string representation of the C++ expression, and the file and line number where the test was made.
| C | C++ code evaluated at run-time to assert a true value |
| #define assertNotEqual | ( | E, | |
| A | |||
| ) | _assertNotEqual(E,A,__FILE__,__LINE__) |
UnitTest assertion macro that checks that two values are unequal.
Can only be used inside a method of a TestObj class, since it invokes the TestObj::_assertNotEqual() method. Relies on the '==' operator to perform the equality check. If the inequality check fails, a UnitTestException is thrown.
| E | expected test value |
| A | actual test value |
| #define assertNotEqualEpsilon | ( | E, | |
| A, | |||
| D | |||
| ) | _assertNotEqual(E,A,D,__FILE__,__LINE__) |
UnitTest assertion macro that checks that one value differs from another by at least a given epsilon value.
Can only be used inside a method of a TestObj class since it invokes the TestObj::assertNEQ() method. If the delta between the two values is less than the given epsilon value, a UnitTestException is thrown.
| E | expected test value |
| A | actual test value |
| D | epsilon value |
| #define assertTrue | ( | C | ) | _assertTrue(C,#C,__FILE__,__LINE__) |
UnitTest assertion macro that checks a C++ expression for truth.
Can only be used inside a method of a TestObj class, since it invokes the TestObj::assertTrue() method. If the given condition evaluates to false, a UnitTestException is thrown which contains a string representation of the C++ expression, and the file and line number where the test was made.
| C | C++ code evaluated at run-time to assert a true value |
Definition at line 22 of file TestObj.h.
Referenced by SideCar::Algorithms::TestBase::test(), and UnitTest::TestObj::test().