This application discloses a bracket device used for mounting outdoor solar lighting on various types of surfaces, including but not limited to block walls, chain link fences, wooden fences and flat walls or for holding outdoor solar lighting devices as stand-alone fixtures.
This application claims the benefit of priority from U.S. Provisional Patent Application Ser. No. 61/801,580, entitled “Multi-Use Bracket for Multiple-Device Installation” and filed Mar. 15, 2013, which is fully incorporated herein by reference for all purposes.
1. Field of the Application
This disclosure is directed to the mounting of lighting, among other devices, and more specifically to brackets used for mounting outdoor solar lighting devices on various types of surfaces, including but not limited to block walls, chain link fences, wooden fences and flat walls or holding outdoor solar lighting devices as stand-alone fixtures.
2. Background of the Disclosure
Outdoor lighting is not only useful for illuminating a home, but also for adding security and beauty. Exterior lighting is available in low-voltage, solar models that are both attractive and easy to install. Solar lighting is environmentally friendly and nearly cost-free to operate. Solar-powered models absorb energy from sunlight, convert it into electrical energy, and store it in rechargeable solar batteries. At dusk, a small photo-cell fixture turns the lights on. The lights remain illuminated for a specific amount of time, until the batteries run out of charge or the sensor detects sufficient daylight to turn them off. When the sun comes up, the batteries are recharged. Thus, solar lighting must be placed in an area that allows the built-in solar panel to collect and convert sunlight into electric power, while the pre-installed rechargeable battery stores the energy to power the light at night.
Stand-alone, outdoor solar lights are generally installed using holding posts for insertion into the ground, for example along an outdoor walking path or around an outdoor patio area. These commercially-available holding posts can have a diameter that is variable, but typically is about one inch and a quarter or less and they can be up to many feet in length, depending on how high off the ground someone may want the solar light. However, typically the holding posts are around one to two feet in length. One end of the holding post may be fitted with an adapter for attaching the solar light (e.g., possibly something similar to a camera tripod attachment for a camera) and the other end of the holding post is usually pointed to facility an easier insertion into the ground.
As can be seen, the solar lights with holding posts are limited to being installed by inserting them into the ground. However, this installation method is not always desired or desirable, and is even impossible in some situations. Therefore, what is needed is a bracket or fixture that facilitates installation of the outdoor, solar lights (with or without the holding posts) in a multitude of locations, including stand-alone uses.
In certain embodiments, an apparatus for mounting a solar light post to any one of a plurality of objects includes: a main support structure, the main support structure having a substantially flat main shape, a main upper end and a main lower end; a top, the top having a substantially flat top shape, a top front end and a top back end, the top back end being connected to the main upper end by an approximate ninety degree angle in a forward direction approximately perpendicular to a main plane of the substantially flat main shape; a top face, the top face having a substantially flat top face shape and a top face upper, the top face upper end being connected to the top front end by an approximate ninety degree angle in a downward direction approximately perpendicular to a top plane of the substantially flat top shape; a bottom, the bottom having a substantially flat bottom shape, a bottom front end and a bottom back end, the bottom back end being connected to the main lower end by an approximate ninety degree angle in a forward direction approximately perpendicular to the main plane of the substantially flat main shape; a bottom face, the bottom face having a substantially flat bottom face shape, a bottom face upper end and a bottom face lower end, the bottom face lower end being connected to the bottom front end by an approximate ninety degree angle in a upward direction approximately perpendicular to a bottom plane of the substantially flat bottom shape; and a bottom lip, the bottom lip having a substantially flat bottom lip shape and a bottom lip front end, the bottom lip front end being connected to the bottom face upper end by an approximate ninety degree angle in a backward direction approximately perpendicular to a bottom face plane of the substantially flat shape.
In certain embodiments, a method for making a bracket includes producing one or more basic bracket shapes, making a plurality of detailed shapes on the one or more basic bracket shapes, forming the bracket from the one or more basic bracket shapes, and finishing the bracket.
In certain embodiments, an apparatus for mounting a solar light post to any one of a plurality of objects includes means for producing one or more basic bracket shapes, means for making a plurality of detailed shapes on the one or more basic bracket shapes, means for forming the bracket from the one or more basic bracket shapes, and means for finishing the bracket.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the present disclosure:
figref[FIG. 1] illustrates an exemplary front isometric view of the bracketing device as viewed from a top right angle according to certain embodiments;
figref[FIG. 2] illustrates an exemplary rear isometric view of the bracketing device according to certain embodiments;
figref[FIG. 3] illustrates an exemplary bottom-view of the bracketing device according to certain embodiments;
figref[FIG. 4] illustrates an exemplary top-view of the bracketing device according to certain embodiments;
figref[FIG. 5] illustrates an exemplary front-view of the bracketing device according to certain embodiments;
figref[FIG. 6] illustrates an exemplary front-view of the bracketing device according to certain embodiments;
figref[FIG. 7] illustrates an exemplary rear-view of the bracketing device according to certain embodiments;
figref[FIG. 8] illustrates an exemplary right-side view of the bracketing device according to certain embodiments;
figref[FIG. 9] illustrates an exemplary left-side view of the bracketing device according to certain embodiments;
figref[FIG. 10] illustrates exemplary installation uses for the bracketing device according to certain embodiments; and
figref[FIG. 11] illustrates an exemplary flowchart for making/manufacturing the bracketing device according to certain embodiments.
Before describing in detail certain embodiments of the disclosure, it should be observed that the embodiments reside using a lighting system and device and methods thereof. Accordingly, the system and device and methods thereof have been represented, where appropriate, by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the disclosure with details that will be readily apparent of those of ordinary skill in the art having the benefit of description herein.
In this document, relational terms, such as first and second, top and bottom, and the like, may be used to distinguish one view, entity or action, without necessarily requiring or implying any actual such relationship or order between such views, entities or actions. The terms “comprises,” “comprising,” “has,” “having,” “includes,” “including” or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements that does not include only those elements, but may include other elements not expressly listed or inherent to such process, method, article or apparatus. An element proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
The following detailed description is directed to certain sample embodiments. However, the disclosure can be embodied in a multitude of different ways as defined and covered by the claims and equivalents thereof. In this description, reference is made to the drawings wherein like parts are designated with like reference numerals throughout.
figref[FIG. 1] illustrates an exemplary front isometric view of a bracketing device 100 as viewed from a top right angle according to certain embodiments. Bracketing device 100 embodied in figref[FIG. 1] is generally in the shape of the letter “G” or an inverted “G” (i.e., depending on the viewing angle), consisting of an outside top face 150, an outside top 160, a main inside support structure 110, an inside bottom 120, an outside bottom face 130, and a bottom lip 140. Each piece just listed is connected at approximately a ninety-degree angle to its adjacent or adjoining piece. At the angled joints or corners of bracketing device 100, facing inward is a pair of reinforcing gusset rib dents 115 (e.g., at the intersection of main inside support structure 110 and inside bottom 120); there also is a pair of accessory attachment slot shaped openings 135 (e.g., at the intersection of outside bottom face 130 and bottom lip 140). Note that similar gusset rib dents 115 and similar accessory attachment slot shaped openings 135 may or may not be needed or designed in at every angled joint or corner of bracketing device 100 in all embodiments. As shown, accessory attachment slot shaped openings similar to accessory attachment slot shaped openings 135 are also cut into bracketing device 100 at the intersection of faces 110 and 120, 120 and 130, 110 and 160, and 150 and 160. Gusset rib dents similar to gusset rib dents 135 are also cut into the bracketing device at the intersection of faces 120 and 130, and 110 and 160.
Outside bottom face 130 is connected to bottom lip 140 by approximately a ninety-degree angle. Outside bottom face 130 provides an approximately flat, flush surface where outside top 140 and outside top face 150 is used in the embodiment of the bracketing device mounted on a wooden fence. An anti-rotation opening 130 a is provided, for example, for the bottom of a flag pole, lighting device post, or other structure to rest in and provide and an anchoring point when a device is inserted through the lighting or flag post hole 110 c.
Inside main support structure 110 is connected to both inside bottom 120 and outside top 160 by approximately ninety-degree angles. A small light post or flag post hole 110 c approximately one half the width of the support bracket is located approximately in the bottom one-third of the support structure as a means to insert a flag post, or the post of a lighting or other device. If the post of the flag, lighting, or other device is larger in diameter than small light or flag post opening 110 c, a punch out ring 110 f is provided as a concentric opening cutout that can be removed to allow for a larger post to be inserted into the opening. As shown, small hole 110 c is approximately 0.88 inches in diameter and with punch out ring 110 f removed, the larger hole is approximately 1.32 inches in diameter. Note that variations of the size and shape of these holes and the punch out are intended to be within the scope of this application.
The inside main support structure 110 is connected to the outside top 160 by approximately a ninety-degree angle. Outside top face 150 is connected at approximately a ninety-degree angle from outside top 160. There is at least one set of peg board hook holes on the face of outside top 150. Outside top 160 is longer in length than inside bottom 120 to allow the bracketing device to be mounted horizontally along the long edge of 110 on a structure such as a block wall.
In certain embodiments, bracketing device 100 can have the following general dimensions. Main inside support structure 110 can have a main length of approximately 11.63 inches, a main upper end width of approximately 1.75 inches and a main lower end width of approximately 3.75 inches. Outside top 160 can have a top length of approximately 4.38 inches, a top front end width of approximately 2.50 inches and a top back end width of approximately 1.75 inches.  Inside bottom 120 can have a bottom length of approximately 3.50 inches, a bottom front end width of approximately 2.75 inches and a bottom back end width of approximately 3.75 inches.  Bottom lip 140 can have a bottom lip length of approximately 0.50 inches and a bottom lip width of approximately 3.25 inches. It is intended at least one of these dimensions can be altered a little or a lot and still be within the scope of the application. For example, such alterations might account for manufacturing tolerances, might account for differences between inside and outside measurements, given the material used, or simply might be a design choice.
figref[FIG. 2] illustrates an exemplary rear isometric view of bracketing device 100 according to certain embodiments. Bottom lip 140 is connected to the inside bottom face 230 by approximately a ninety-degree angle. Inside bottom face 230 is connected by approximately a ninety-degree angle to inside bottom 120. Inside bottom 120 is connected to the outside main support structure 210 by approximately a ninety-degree angle. Outside main support structure 210 is connected to outside top 160 by approximately a ninety-degree angle. The inside top face 250 is connected to outside top 160 by approximately a ninety-degree angle.
figref[FIG. 3] illustrates an exemplary bottom-view of bracketing device 100 according to certain embodiments. Outside bottom 310 (which is the side opposite from inside bottom 120 as previously illustrated) provides an approximately flat, flush surface that can rest, for example, on top of a shelf as in an embodiment of bracketing device 100 mounted on a shelf. As shown, outside bottom 310 has a slightly tapered dimensionality, with a top (as illustrated) edge being approximately 3.75 inches long and a bottom (as illustrated) edge being approximately 2.75 inches long. As with all dimensions in this disclosure, variations are expected and meant to be included within the scope of this application.
Approximately centered in outside bottom 310 is anti-rotation opening 120 a provided, for example, for the bottom of a flag pole, lighting device post, or other structure to rest in and provide an anchoring point when a device is inserted through the lighting or flag post hole 160 c (not shown). There are also two cut-outs in a shape such as a circle and at a distance from each other to allow, for example, peg board hooks, screws, or some other attachment point to be inserted to secure the bracketing device to wall, fence, peg board, or other structure.
figref[FIG. 4] illustrates an exemplary top-view of bracketing device 100 according to certain embodiments. A small light or flag post hole 160 c, approximately the same size as hole 110 c discussed with reference to figref[FIG. 1] , is used as a means to insert a flag post, or the post of a lighting or other device. However, the shape and size of this hole may be different from that of hole 110 c. If the post of the flag, lighting, or other device is larger in diameter than small light or flag post opening 160 c, punch-out 160 f is provided as a concentric opening cutout that can be removed to allow for a larger post to be inserted into the opening. As shown, bracketing device 100 top-view has a slightly tapered dimensionality, with a top (as illustrated) edge being approximately 1.75 inches long and a bottom (as illustrated) edge being approximately 2.50 inches long. As with all dimensions in this disclosure, variations are expected and meant to be included within the scope of this application.
Centered on 160 c and centered in inside bottom 120 is anti-rotation opening 120 a provided for the bottom of a flag pole, lighting device post, or other structure to rest in and provide and an anchoring point when a device is inserted through the lighting or flag post hole 160 c. There are also two cut-outs in a shape such as a circle at a distance from each other to allow for peg board hooks, screws, or some other attachment point to be inserted to secure the bracketing device to wall, fence, peg board, or other structure.
In approximately the distal one-third of the face are two notches, a notch for the right side of a chain link fence attachment 160 a and a left side of a chain link fence attachment 160 b. Each notch 160 a and 160 b are approximately 0.375 inches wide and approximately 0.25 inches long. The notches are offset from one another in such a way to allow outside top 160, when placed on the top of a chain link fence, to rest horizontally and in balance with the chain link fence. The outside top opening 160 c is further to the inside of the bracketing device such that the post from the lighting device can be placed through the opening when notches 160 a and 160 b are resting on or in the top of a chain link fence.
The distal portion of inside bottom 120 is visible showing that the distal end is larger than the attachment to inside main support structure 110 allowing the bottom of the bracketing device to rest on a shelf, but also providing symmetrical top and bottom of the device to fit in a metal sheet for manufacturing.
figref[FIG. 5] illustrates an exemplary front-view of bracketing device 100 according to certain embodiments. As shown, inside main support structure 110 has a slightly tapered dimensionality, with a top (as illustrated) edge being approximately 1.75 inches long and a bottom (as illustrated) edge being approximately 3.75 inches long. As with all dimensions in this disclosure, variations are expected and meant to be included within the scope of this application.
A small light or flag post hole 110 c approximately half the width of the support bracket is located approximately in the bottom one-third of the support structure as a means to insert a flag post, or the post of a lighting, or other device. An anti-rotation opening 130 a is provided for the bottom of a flag pole, lighting device, or other structure to rest in and provide and an anchoring point when a device is inserted through the lighting or flag post hole 110 c.
An attachment and shipping opening 110 a is located approximately in the center of inside main support structure 110 for use in shipping, accessory attachment, or other reasons as practical. There are also one or more pairs of cut-outs in a shape such as a circle equidistant from each other to allow for peg board hooks, screws, or some other attachment point to be inserted to secure the bracketing device to wall, fence, peg board, or other structure. A pair or more leveling and attaching notches 110 d is provided along the left and right side of inside main support structure 110 to allow for mounting, attaching, leveling or other uses as practical. The notches are used for leveling by drawing a line and can be utilized as anti-slide notches if a plastic, strap, or wire tie is used to attach them to, for example, a branch or post. The notches are directly across from each other to provide balance.
Centered on attachment and shipping opening 110 a are four attachment slots in the shape of an elongated vertical rectangle. The slots are for future attachments such as sconces or other support accessories made from sheet metal.
figref[FIG. 6] illustrates an exemplary front-view of bracketing device 100 according to certain embodiments. The dimensions in this view can be similar to those as illustrated in figref[FIG. 5] . A small light or flag post hole 110 c approximately half the width of the support bracket is located approximately in the bottom one-third of the support structure as a means to insert a flag post, or the post of a lighting, or other device. An anti-rotation opening 130 a is provided for the bottom of a flag pole, lighting device, or other structure to rest in and provide and an anchoring point when a device is inserted through the lighting or flag post hole 110 c. A pair or more leveling and attaching notches 110 d is provided along the left and right side of inside main support structure 110 to allow for mounting, attaching, leveling or other uses as practical. The notches are directly across from each other to provide balance.
figref[FIG. 7] illustrates an exemplary rear-view of bracketing device 100 according to certain embodiments. The dimensions in this view can be similar to those as illustrated in figref[FIG. 5] and/or figref[FIG. 6] . A small light or flag post hole 110 c approximately half the width of the support bracket is located approximately in the bottom one-third of the support structure as a means to insert a flag post, or the post of a lighting, or other device. If the post of the flag, lighting, or other device is larger in diameter than small light or flag post opening 110 c, 110 f is provided as a concentric opening cutout that can be removed to allow for a larger post to be inserted into the opening.
An anti-rotation opening 130 a is provided for the bottom of a flag pole, lighting device, or other structure to rest in and provide and an anchoring point when a device is inserted through the lighting or flag post hole 110 c. An attachment and shipping opening 110 a is located approximately in the center of inside main support structure 110 for use in shipping, accessory attachment, or other reasons as practical. There are also one or more pairs of cut-outs in a shape such as a circle equidistant from each other to allow for peg board hooks, screws, or some other attachment point to be inserted to secure the bracketing device to wall, fence, peg board, or other structure. A plurality of leveling and attaching notches 110 d is provided along the left and right edges of inside main support structure 110 to allow for mounting, attaching, leveling or other uses as practical. The notches are directly across from each other to provide balance, allowing the bracketing device to remain in a standing and upright position.
figref[FIG. 8] illustrates an exemplary right-side view of bracketing device 100 according to certain embodiments. As shown in figref[FIG. 8] , outside top face 150 has a length of approximately 0.88 inches, outside top 160 has a length of approximately 4.38 inches, main inside support structure 110 has a length of approximately 11.63 inches, inside bottom 120 has a length of approximately 3.50 inches, outside bottom face 130 has a length of approximately 2.63 inches and bottom lip 140 has a length of approximately 0.50 inches. As with all dimensions in this disclosure, variations are expected and meant to be included within the scope of this application.
Bottom lip 140 forms the support structure for the bracketing device to rest vertically oriented, such as, but not limited to sitting on top of a block wall. Bottom lip 140 will set flush with the horizontal aspect of the wall providing the force necessary to keep the bracketing device in place. The gusset rib dents used to reinforce the bracketing device are visible at the intersection of inside faces 130 and 120, 120 and 110, and 110 and 260. The smaller concentric post hole circle cut outs 110 c and 160 c are also visible in their respective inside faces.
figref[FIG. 9] illustrates an exemplary left-side view of bracketing device 100 according to certain embodiments. The dimensions in this view can be similar to those as illustrated in figref[FIG. 8] . A wood fence offset 980 is the offset between top face 150 and outside bottom face 130. Wood fence offset 980 provides the spacing necessary for an inside top 260 to sit on top of a wooden fence or other wall like structure and can be approximately 0.75 inches of spacing. Of course this dimension can be adjusted for various thickness of wooden fencing or other wall like structures. A block wall offset 990 is the offset between a plane perpendicular to the bottom or end of top face 150 and a line extending from the end of bottom lip 140. Block wall offset 990 provides the spacing necessary for the bracketing device to be used horizontally to sit on a thicker concrete or other type of wall or fence and can be approximately 8.13 inches of spacing. Of course other “thick” walls, such as brick, rock, and the like can be facilitated by designing block wall offset with the appropriate dimension. As with all dimensions in this disclosure, variations are expected and meant to be included within the scope of this application.
figref[FIG. 10] illustrates exemplary installation uses for bracketing device 100 according to certain embodiments. A bracketing device mounted on a wooden fence 1001 illustrates an embodiment of bracketing device 100 resting on a wooden fence. A bracketing device setting vertically or stand-alone on a shelf 1002 illustrates an embodiment of bracketing device 100 resting on a shelf and without other support. A bracketing device mounted on a block wall 1003 illustrates an embodiment of bracketing device 100 resting horizontally on a block wall. A bracketing device mounted horizontally in a block wall 1004 illustrates an embodiment of bracketing device 100 resting horizontally in a block wall. A bracketing device mounted on a chain link fence 1005 illustrates an embodiment of bracketing device 100 resting on a chain link fence. Each of the installations also illustrates a solar lighting device, including an lighting post, being used with bracketing device 100.
figref[FIG. 11] illustrates an exemplary flowchart for making or manufacturing bracketing device 100 according to certain embodiments. Generally, bottom lip 140, outside bottom face 130, inside bottom 120, inside main support structure 110, outside top 160, and outside top face 150 or a combination thereof can start as a single integrated structure that ultimately forms bracketing device 100. This can be formed by one sheet being folded into the structure. Alternatively, at least a portion of the structure can be separate components that are mechanically connected, such as, but not limited to, a nut and bolt connection, connected via a welded connection, connected via another suitable type of connection, or a combination thereof, to form a portion or portions of bracketing device 100.
At 1101, a relatively flat piece of metal, either in sheet form or in roll form, can be used to produce one or more basic bracket shapes. In certain embodiments, a roll form of metal can be used. Alternatively or additionally, the bracket can be made of one or more metals including but not limited to iron, copper, steel, aluminum, tin, or any similar materials brush coated with aluminum or any other water/rust resistant material. According to certain embodiments, the bracketing device can be formed of plastic, rubber, or coated with a water resistant material.
At 1101, the basic bracket shape or the general outline of the bracket can be cut from the metal sheet or roll. This basic shape can be as if bracket device 100 as shown in figref[FIG. 1] or 2 were flattened out into a single plane. The basic bracket shape can be cut using a drill, saw, stamping mechanism, laser, chemical etching, or high-pressure water among other methods or combinations thereof.
According to certain embodiments, the bracketing device may alternatively be constructed through injection molding or any other similar material molding process including, but not limited to extrusion blow molding, injection blow molding, stretch blow molding, compression molding, extrusion molding, matrix molding, or thermoforming and molded into the desired shape suitable for the bracketing device. According to certain embodiments, the one or more basic bracket shapes includes multiple surfaces that can be joined together at a later stage in the manufacturing or assembly process.
At 1102, the plurality of detailed shapes on the one or more basic bracket shapes is made. These detailed shapes can be made using, for example, a drill, saw, stamping mechanism, laser, chemical etching, or high-pressure water among other methods or combinations thereof. According to certain embodiments, the plurality of detailed shapes includes, for example, numerous holes, numerous slots and numerous notches within and around the basic bracket shape or shapes. These holes, slots and notches (as most were previously described), can include: accessory attachment slot shaped openings 135, lighting or flag post hole 110 c, lighting or flag post hold 160 c, anti-rotation opening 130 a, peg board hook holes, anti-rotation opening 120 a, notch for the right side of a chain link fence attachment 160 a, notch for the left side of the chain link fence attachment 160 b, attachment and shipping opening 110 a, leveling and attaching notches 110 d and attachment slots.
Both concentric opening cutout 110 f and concentric opening cutout 160 f will merely consist of indentations in the bracketing device. This is so that the openings do not necessarily have to be made in the bracketing device to support a smaller in circumference flag post or lighting device to be inserted. If the user is installing a thicker flag post or light post, they can merely use the indentation to remove cutouts 110 f and/or 110 c to allow installation of the post that is larger in circumference and will not fit within 110 c and 110 f.
At 1103, the bracket can be formed form the one or more basic bracket shapes. In certain embodiments, forming the bracket includes denting the single bracket shape along lines that will eventually become the approximate ninety-degree angles of the bracketing device. The folds are located at the intersection of outside top face 150 and outside top 160, outside top 160 and main inside support structure 110, main inside support structure 110 and inside bottom 120, inside bottom 120 and outside bottom face 130, and outside bottom face 130 and outside top 140. Alternatively, at least a portion of the structure can be separate components that are mechanically connected by a nut and bolt connection, a welded connection, another suitable type of connection, or a combination thereof.
At 1103, the basic bracket shape is folded for form the final bracketing device shape, having multiple approximately ninety-degree angles as embodied elsewhere in this disclosure. The folds are located at the intersection of outside top face 150 and outside top 160, outside top 160 and main inside support structure 110, main inside support structure 110 and inside bottom 120, inside bottom 120 and outside bottom face 130, and outside bottom face 130 and outside top 140.
At 1104, the final bracket shape can go through one or more finishing processes. These can include making the gusset rib dents in at least some, if not all, of the ninety-degree angle folds to reinforce the folds of the bracketing device. In certain embodiments, the gusset rib dents are located at the intersection of outside top face 150 and outside top 160, outside top 160 and main inside support structure 110, main inside support structure 110 and inside bottom 120, inside bottom 120 and outside bottom face 130, and outside bottom face 130 and outside top 140. The gusset rib dents can be made by a drill or punch or some other method to make dents or small openings in each fold of the bracketing device.
Additionally at 1104, as needed, other finish process can be performed, such as: deburring or smoothing the edges of the bracket; waterproofing or rustproofing the bracket; powder-coating the bracket, sanding and painting the bracket, packaging the bracket for sale and for transport, and similar final steps in a manufacturing process.
It should be appreciated by those skilled in the art that any dimensions provided herein are for exemplary purposes only, and that bracketing device 100 is not limited to those dimensions. Alternatively, bracketing device 100 can be used for other applications besides outdoor solar lighting, wherein bracketing device 100 is subjected to a flag pole, a device used on billboards, signs, or the like. Each of the alternatives, including variations in dimensions, variations in size and shape of surfaces, variations in size and shape of cutouts and/or variations in methods of making, is intended to be within the scope of this application and the claims listed below.


public final class Float extends Number implements Comparable<Float>
Float
class wraps a value of primitive type
float
in an object. An object of type
Float
contains a single field whose type is
float
.
In addition, this class provides several methods for converting a
float
to a String
and a
String
to a float
, as well as other
constants and methods useful when dealing with a
float
.
| Modifier and Type | Field and Description |
|---|---|
static int |
BYTES
The number of bytes used to represent a
float value. |
static int |
MAX_EXPONENT
Maximum exponent a finite
float variable may have. |
static float |
MAX_VALUE
A constant holding the largest positive finite value of type
float , (2-2-23)·2127. |
static int |
MIN_EXPONENT
Minimum exponent a normalized
float variable may have. |
static float |
MIN_NORMAL
A constant holding the smallest positive normal value of type
float , 2-126. |
static float |
MIN_VALUE
A constant holding the smallest positive nonzero value of type
float , 2-149. |
static float |
NaN
A constant holding a Not-a-Number (NaN) value of type
float . |
static float |
NEGATIVE_INFINITY
A constant holding the negative infinity of type
float . |
static float |
POSITIVE_INFINITY
A constant holding the positive infinity of type
float . |
static int |
SIZE
The number of bits used to represent a
float value. |
static Class<Float> |
TYPE
The
Class instance representing the primitive type
float . |
| Constructor and Description |
|---|
Float(double value)
Constructs a newly allocated
Float object that
represents the argument converted to type float . |
Float(float value)
Constructs a newly allocated
Float object that
represents the primitive float argument. |
Float(String s)
Constructs a newly allocated
Float object that
represents the floating-point value of type float
represented by the string. |
| Modifier and Type | Method and Description |
|---|---|
byte |
byteValue()
Returns the value of this
Float as a byte after
a narrowing primitive conversion. |
static int |
compare(float f1,
float f2)
Compares the two specified
float values. |
int |
compareTo(Float anotherFloat)
Compares two
Float objects numerically. |
double |
doubleValue()
Returns the value of this
Float as a double
after a widening primitive conversion. |
boolean |
equals(Object obj)
Compares this object against the specified object.
|
static int |
floatToIntBits(float value)
Returns a representation of the specified floating-point value
according to the IEEE 754 floating-point "single format" bit
layout.
|
static int |
floatToRawIntBits(float value)
Returns a representation of the specified floating-point value
according to the IEEE 754 floating-point "single format" bit
layout, preserving Not-a-Number (NaN) values.
|
float |
floatValue()
Returns the
float value of this Float object. |
int |
hashCode()
Returns a hash code for this
Float object. |
static int |
hashCode(float value)
Returns a hash code for a
float value; compatible with
Float.hashCode() . |
static float |
intBitsToFloat(int bits)
Returns the
float value corresponding to a given
bit representation. |
int |
intValue()
Returns the value of this
Float as an int after
a narrowing primitive conversion. |
static boolean |
isFinite(float f)
Returns
true if the argument is a finite floating-point
value; returns false otherwise (for NaN and infinity
arguments). |
boolean |
isInfinite()
Returns
true if this Float value is
infinitely large in magnitude, false otherwise. |
static boolean |
isInfinite(float v)
Returns
true if the specified number is infinitely
large in magnitude, false otherwise. |
boolean |
isNaN()
Returns
true if this Float value is a
Not-a-Number (NaN), false otherwise. |
static boolean |
isNaN(float v)
Returns
true if the specified number is a
Not-a-Number (NaN) value, false otherwise. |
long |
longValue()
Returns value of this
Float as a long after a
narrowing primitive conversion. |
static float |
max(float a,
float b)
Returns the greater of two
float values
as if by calling Math.max . |
static float |
min(float a,
float b)
Returns the smaller of two
float values
as if by calling Math.min . |
static float |
parseFloat(String s)
Returns a new
float initialized to the value
represented by the specified String , as performed
by the valueOf method of class Float . |
short |
shortValue()
Returns the value of this
Float as a short
after a narrowing primitive conversion. |
static float |
sum(float a,
float b)
Adds two
float values together as per the + operator. |
static String |
toHexString(float f)
Returns a hexadecimal string representation of the
float argument. |
String |
toString()
Returns a string representation of this
Float object. |
static String |
toString(float f)
Returns a string representation of the
float
argument. |
static Float |
valueOf(float f)
Returns a
Float instance representing the specified
float value. |
static Float |
valueOf(String s)
Returns a
Float object holding the
float value represented by the argument string
s . |
public static final float POSITIVE_INFINITY
float
. It is equal to the value returned by
Float.intBitsToFloat(0x7f800000)
.public static final float NEGATIVE_INFINITY
float
. It is equal to the value returned by
Float.intBitsToFloat(0xff800000)
.public static final float NaN
float
. It is equivalent to the value returned by
Float.intBitsToFloat(0x7fc00000)
.public static final float MAX_VALUE
float
, (2-2-23)·2127.
It is equal to the hexadecimal floating-point literal
0x1.fffffeP+127f
and also equal to
Float.intBitsToFloat(0x7f7fffff)
.public static final float MIN_NORMAL
float
, 2-126. It is equal to the
hexadecimal floating-point literal 0x1.0p-126f
and also
equal to Float.intBitsToFloat(0x00800000)
.public static final float MIN_VALUE
float
, 2-149. It is equal to the
hexadecimal floating-point literal 0x0.000002P-126f
and also equal to Float.intBitsToFloat(0x1)
.public static final int MAX_EXPONENT
float
variable may have. It
is equal to the value returned by Math.getExponent(Float.MAX_VALUE)
.public static final int MIN_EXPONENT
float
variable may have.
It is equal to the value returned by Math.getExponent(Float.MIN_NORMAL)
.public static final int SIZE
float
value.public static final int BYTES
float
value.public Float(float value)
Float
object that
represents the primitive float
argument.value
- the value to be represented by the Float
.public Float(double value)
Float
object that
represents the argument converted to type float
.value
- the value to be represented by the Float
.public Float(String s) throws NumberFormatException
Float
object that
represents the floating-point value of type float
represented by the string. The string is converted to a
float
value as if by the valueOf
method.s
- a string to be converted to a Float
.NumberFormatException
- if the string does not contain a
parsable number.valueOf(java.lang.String)
public static String toString(float f)
float
argument. All characters mentioned below are ASCII characters.
NaN
".
-
' ('\u002D'
); if the sign is
positive, no sign character appears in the result. As for
the magnitude m:
"Infinity"
; thus, positive infinity produces
the result "Infinity"
and negative infinity
produces the result "-Infinity"
.
"0.0"
; thus, negative zero produces the result
"-0.0"
and positive zero produces the result
"0.0"
.
.
'
('\u002E'
), followed by one or more
decimal digits representing the fractional part of
m.
.
' ('\u002E'
), followed by
decimal digits representing the fractional part of
a, followed by the letter 'E
'
('\u0045'
), followed by a representation
of n as a decimal integer, as produced by the
method Integer.toString(int)
.
float
. That is, suppose that x is the
exact mathematical value represented by the decimal
representation produced by this method for a finite nonzero
argument f. Then f must be the float
value nearest to x; or, if two float
values are
equally close to x, then f must be one of
them and the least significant bit of the significand of
f must be 0
.
To create localized string representations of a floating-point
value, use subclasses of NumberFormat
.
f
- the float to be converted.public static String toHexString(float f)
float
argument. All characters mentioned below are
ASCII characters.
NaN
".
-
'
('\u002D'
); if the sign is positive, no sign character
appears in the result. As for the magnitude m:
"Infinity"
; thus, positive infinity produces the
result "Infinity"
and negative infinity produces
the result "-Infinity"
.
"0x0.0p0"
; thus, negative zero produces the result
"-0x0.0p0"
and positive zero produces the result
"0x0.0p0"
.
float
value with a
normalized representation, substrings are used to represent the
significand and exponent fields. The significand is
represented by the characters "0x1."
followed by a lowercase hexadecimal representation of the rest
of the significand as a fraction. Trailing zeros in the
hexadecimal representation are removed unless all the digits
are zero, in which case a single zero is used. Next, the
exponent is represented by "p"
followed
by a decimal string of the unbiased exponent as if produced by
a call to Integer.toString
on the
exponent value.
float
value with a subnormal
representation, the significand is represented by the
characters "0x0."
followed by a
hexadecimal representation of the rest of the significand as a
fraction. Trailing zeros in the hexadecimal representation are
removed. Next, the exponent is represented by
"p-126"
. Note that there must be at
least one nonzero digit in a subnormal significand.
| Floating-point Value | Hexadecimal String |
|---|---|
1.0 | 0x1.0p0 |
-1.0 | -0x1.0p0 |
2.0 | 0x1.0p1 |
3.0 | 0x1.8p1 |
0.5 | 0x1.0p-1 |
0.25 | 0x1.0p-2 |
Float.MAX_VALUE |
0x1.fffffep127 |
Minimum Normal Value |
0x1.0p-126 |
Maximum Subnormal Value |
0x0.fffffep-126 |
Float.MIN_VALUE |
0x0.000002p-126 |
f
- the float
to be converted.public static Float valueOf(String s) throws NumberFormatException
Float
object holding the
float
value represented by the argument string
s
.
If s
is null
, then a
NullPointerException
is thrown.
Leading and trailing whitespace characters in s
are ignored. Whitespace is removed as if by the String.trim()
method; that is, both ASCII space and control
characters are removed. The rest of s
should
constitute a FloatValue as described by the lexical
syntax rules:
where Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger and FloatTypeSuffix are as defined in the lexical structure sections of The Java™ Language Specification, except that underscores are not accepted between digits. If
- FloatValue:
- Signopt
NaN
- Signopt
Infinity
- Signopt FloatingPointLiteral
- Signopt HexFloatingPointLiteral
- SignedInteger
- HexFloatingPointLiteral:
- HexSignificand BinaryExponent FloatTypeSuffixopt
- HexSignificand:
- HexNumeral
- HexNumeral
.
0x
HexDigitsopt.
HexDigits0X
HexDigitsopt.
HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
p
P
s
does not have the form of
a FloatValue, then a NumberFormatException
is thrown. Otherwise, s
is regarded as
representing an exact decimal value in the usual
"computerized scientific notation" or as an exact
hexadecimal value; this exact numerical value is then
conceptually converted to an "infinitely precise"
binary value that is then rounded to type float
by the usual round-to-nearest rule of IEEE 754 floating-point
arithmetic, which includes preserving the sign of a zero
value.
Note that the round-to-nearest rule also implies overflow and
underflow behaviour; if the exact value of s
is large
enough in magnitude (greater than or equal to (MAX_VALUE
+ ulp(MAX_VALUE)
/2),
rounding to float
will result in an infinity and if the
exact value of s
is small enough in magnitude (less
than or equal to MIN_VALUE
/2), rounding to float will
result in a zero.
Finally, after rounding a Float
object representing
this float
value is returned.
To interpret localized string representations of a
floating-point value, use subclasses of NumberFormat
.
Note that trailing format specifiers, specifiers that
determine the type of a floating-point literal
(1.0f
is a float
value;
1.0d
is a double
value), do
not influence the results of this method. In other
words, the numerical value of the input string is converted
directly to the target floating-point type. In general, the
two-step sequence of conversions, string to double
followed by double
to float
, is
not equivalent to converting a string directly to
float
. For example, if first converted to an
intermediate double
and then to
float
, the string
"1.00000017881393421514957253748434595763683319091796875001d"
results in the float
value
1.0000002f
; if the string is converted directly to
float
, 1.0000001f
results.
To avoid calling this method on an invalid string and having
a NumberFormatException
be thrown, the documentation
for Double.valueOf
lists a regular
expression which can be used to screen the input.
s
- the string to be parsed.Float
object holding the value
represented by the String
argument.NumberFormatException
- if the string does not contain a
parsable number.public static Float valueOf(float f)
Float
instance representing the specified
float
value.
If a new Float
instance is not required, this method
should generally be used in preference to the constructor
Float(float)
, as this method is likely to yield
significantly better space and time performance by caching
frequently requested values.f
- a float value.Float
instance representing f
.public static float parseFloat(String s) throws NumberFormatException
float
initialized to the value
represented by the specified String
, as performed
by the valueOf
method of class Float
.s
- the string to be parsed.float
value represented by the string
argument.NullPointerException
- if the string is nullNumberFormatException
- if the string does not contain a
parsable float
.valueOf(String)
public static boolean isNaN(float v)
true
if the specified number is a
Not-a-Number (NaN) value, false
otherwise.v
- the value to be tested.true
if the argument is NaN;
false
otherwise.public static boolean isInfinite(float v)
true
if the specified number is infinitely
large in magnitude, false
otherwise.v
- the value to be tested.true
if the argument is positive infinity or
negative infinity; false
otherwise.public static boolean isFinite(float f)
true
if the argument is a finite floating-point
value; returns false
otherwise (for NaN and infinity
arguments).f
- the float
value to be testedtrue
if the argument is a finite
floating-point value, false
otherwise.public boolean isNaN()
true
if this Float
value is a
Not-a-Number (NaN), false
otherwise.true
if the value represented by this object is
NaN; false
otherwise.public boolean isInfinite()
true
if this Float
value is
infinitely large in magnitude, false
otherwise.true
if the value represented by this object is
positive infinity or negative infinity;
false
otherwise.public String toString()
Float
object.
The primitive float
value represented by this object
is converted to a String
exactly as if by the method
toString
of one argument.toString
in class Object
String
representation of this object.toString(float)
public byte byteValue()
Float
as a byte
after
a narrowing primitive conversion.public short shortValue()
Float
as a short
after a narrowing primitive conversion.shortValue
in class Number
float
value represented by this object
converted to type short
public int intValue()
Float
as an int
after
a narrowing primitive conversion.public long longValue()
Float
as a long
after a
narrowing primitive conversion.public float floatValue()
float
value of this Float
object.floatValue
in class Number
float
value represented by this objectpublic double doubleValue()
Float
as a double
after a widening primitive conversion.doubleValue
in class Number
float
value represented by this
object converted to type double
public int hashCode()
Float
object. The
result is the integer bit representation, exactly as produced
by the method floatToIntBits(float)
, of the primitive
float
value represented by this Float
object.hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public static int hashCode(float value)
float
value; compatible with
Float.hashCode()
.value
- the value to hashfloat
value.public boolean equals(Object obj)
true
if and only if the argument is not
null
and is a Float
object that
represents a float
with the same value as the
float
represented by this object. For this
purpose, two float
values are considered to be the
same if and only if the method floatToIntBits(float)
returns the identical int
value when applied to
each.
Note that in most cases, for two instances of class
Float
, f1
and f2
, the value
of f1.equals(f2)
is true
if and only if
f1.floatValue() == f2.floatValue()
also has the value true
. However, there are two exceptions:
f1
and f2
both represent
Float.NaN
, then the equals
method returns
true
, even though Float.NaN==Float.NaN
has the value false
.
f1
represents +0.0f
while
f2
represents -0.0f
, or vice
versa, the equal
test has the value
false
, even though 0.0f==-0.0f
has the value true
.
equals
in class Object
obj
- the object to be comparedtrue
if the objects are the same;
false
otherwise.floatToIntBits(float)
public static int floatToIntBits(float value)
Bit 31 (the bit that is selected by the mask
0x80000000
) represents the sign of the floating-point
number.
Bits 30-23 (the bits that are selected by the mask
0x7f800000
) represent the exponent.
Bits 22-0 (the bits that are selected by the mask
0x007fffff
) represent the significand (sometimes called
the mantissa) of the floating-point number.
If the argument is positive infinity, the result is
0x7f800000
.
If the argument is negative infinity, the result is
0xff800000
.
If the argument is NaN, the result is 0x7fc00000
.
In all cases, the result is an integer that, when given to the
intBitsToFloat(int)
method, will produce a floating-point
value the same as the argument to floatToIntBits
(except all NaN values are collapsed to a single
"canonical" NaN value).
value
- a floating-point number.public static int floatToRawIntBits(float value)
Bit 31 (the bit that is selected by the mask
0x80000000
) represents the sign of the floating-point
number.
Bits 30-23 (the bits that are selected by the mask
0x7f800000
) represent the exponent.
Bits 22-0 (the bits that are selected by the mask
0x007fffff
) represent the significand (sometimes called
the mantissa) of the floating-point number.
If the argument is positive infinity, the result is
0x7f800000
.
If the argument is negative infinity, the result is
0xff800000
.
If the argument is NaN, the result is the integer representing
the actual NaN value. Unlike the floatToIntBits
method, floatToRawIntBits
does not collapse all the
bit patterns encoding a NaN to a single "canonical"
NaN value.
In all cases, the result is an integer that, when given to the
intBitsToFloat(int)
method, will produce a
floating-point value the same as the argument to
floatToRawIntBits
.
value
- a floating-point number.public static float intBitsToFloat(int bits)
float
value corresponding to a given
bit representation.
The argument is considered to be a representation of a
floating-point value according to the IEEE 754 floating-point
"single format" bit layout.
If the argument is 0x7f800000
, the result is positive
infinity.
If the argument is 0xff800000
, the result is negative
infinity.
If the argument is any value in the range
0x7f800001
through 0x7fffffff
or in
the range 0xff800001
through
0xffffffff
, the result is a NaN. No IEEE 754
floating-point operation provided by Java can distinguish
between two NaN values of the same type with different bit
patterns. Distinct values of NaN are only distinguishable by
use of the Float.floatToRawIntBits
method.
In all other cases, let s, e, and m be three values that can be computed from the argument:
Then the floating-point result equals the value of the mathematical expression s·m·2e-150.int s = ((bits >> 31) == 0) ? 1 : -1; int e = ((bits >> 23) & 0xff); int m = (e == 0) ? (bits & 0x7fffff) << 1 : (bits & 0x7fffff) | 0x800000;
Note that this method may not be able to return a
float
NaN with exactly same bit pattern as the
int
argument. IEEE 754 distinguishes between two
kinds of NaNs, quiet NaNs and signaling NaNs. The
differences between the two kinds of NaN are generally not
visible in Java. Arithmetic operations on signaling NaNs turn
them into quiet NaNs with a different, but often similar, bit
pattern. However, on some processors merely copying a
signaling NaN also performs that conversion. In particular,
copying a signaling NaN to return it to the calling method may
perform this conversion. So intBitsToFloat
may
not be able to return a float
with a signaling NaN
bit pattern. Consequently, for some int
values,
floatToRawIntBits(intBitsToFloat(start))
may
not equal start
. Moreover, which
particular bit patterns represent signaling NaNs is platform
dependent; although all NaN bit patterns, quiet or signaling,
must be in the NaN range identified above.
bits
- an integer.float
floating-point value with the same bit
pattern.public int compareTo(Float anotherFloat)
Float
objects numerically. There are
two ways in which comparisons performed by this method differ
from those performed by the Java language numerical comparison
operators (<, <=, ==, >=, >
) when
applied to primitive float
values:
Float.NaN
is considered by this method to
be equal to itself and greater than all other
float
values
(including Float.POSITIVE_INFINITY
).
0.0f
is considered by this method to be greater
than -0.0f
.
Float
objects imposed by this method is consistent with equals.compareTo
in interface Comparable<Float>
anotherFloat
- the Float
to be compared.0
if anotherFloat
is
numerically equal to this Float
; a value
less than 0
if this Float
is numerically less than anotherFloat
;
and a value greater than 0
if this
Float
is numerically greater than
anotherFloat
.Comparable.compareTo(Object)
public static int compare(float f1, float f2)
float
values. The sign
of the integer value returned is the same as that of the
integer that would be returned by the call:
new Float(f1).compareTo(new Float(f2))
f1
- the first float
to compare.f2
- the second float
to compare.0
if f1
is
numerically equal to f2
; a value less than
0
if f1
is numerically less than
f2
; and a value greater than 0
if f1
is numerically greater than
f2
.public static float sum(float a, float b)
float
values together as per the + operator.a
- the first operandb
- the second operanda
and b
BinaryOperator
public static float max(float a, float b)
float
values
as if by calling Math.max
.a
- the first operandb
- the second operanda
and b
BinaryOperator
public static float min(float a, float b)
float
values
as if by calling Math.min
.a
- the first operandb
- the second operanda
and b
BinaryOperator
Dracula Javadoc Sample, Made with Allan Im.


Problem
Jenkins got java.awt.headless problem
I installed Jenkins in Ubuntu linux and run Jenkins in the tomcat6.
I open any Jenkins page which is showing a trend chart. I get the following error on the page:
Graphics N/A Unable to access X. You need to run the web container in the headless mode. Add -Djava.awt.headless=true to VM.
I check the tomcat6 starting script, the JVM property java.awt.headless is set to true already.
I check through the Jenkins' Manage Jenkins->System Information page. It also shows the java.awt.headless is set to true.
Looking through the Tomcat logs, the following error can be found:
java.lang.Error: Probable fatal error:No fonts found.
Solution (for Open JDK)
We had the same problem too using Jenkins in Tomcat6 on Ubuntu 9.10 server.
Obviously graphics rendering needs access to font metrics. So check java /etc/java-6-openjdk/fontconfig.properties and install missing fonts. OpenJDK refers to DejaVu-Fonts. So type:
On Ubuntu (or likely any Debian based Operating System)
sudo apt-get install ttf-dejavu
On CentOS 6 (or likely any RHEL based Operating System)
sudo yum install dejavu-sans-fonts
On OpenSUSE:
zypper install dejavu-fonts
In addition if you are using the OpenJDK Headless package (at least on CentOS 7) you will need to install fontconfig
sudo yum install fontconfig
On Alpine
sudo apk add ttf-dejavu
Restart Tomcat and enjoy graphics.
If this doesn't work, you may also need some of type rendering libraries that are usually part of an X server – in a truly headless system, xvfb will do.
On Ubuntu (or likely any Debian based Operating System)
sudo apt-get install xvfb
On CentOS 6 (or likely any RHEL based Operating System)
sudo yum install xorg-x11-server-Xvfb
Solution (for Sun JDK)
I also had the same problem using Jenkins in Tomcat 6 on Ubuntu 9.10 Server, but this time with Sun's JDK6.
I initially only installed the package 'sun-java6-jdk'. After seeing the above fonts error, I tried installing the 'sun-java6-fonts' package, but that didn't seem to solve my problem. I gave up trying to find the exact package I needed to get things working and just decided to remove what I had and reinstall the "whole shebang":
sudo apt-get remove sun-java6* sudo apt-get install sun-java6*
Maybe a little brute'ish, but it worked. Jenkins now makes all of its pretty charts.


XZDIFF(1) XZ Utils XZDIFF(1) NAME xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files SYNOPSIS xzcmp [cmp_options] file1 [file2] xzdiff [diff_options] file1 [file2] lzcmp [cmp_options] file1 [file2] lzdiff [diff_options] file1 [file2] DESCRIPTION xzcmp and xzdiff invoke cmp(1) or diff(1) on files compressed with xz(1), lzma(1), gzip(1), bzip2(1), or lzop(1). All options specified are passed directly to cmp(1) or diff(1). If only one file is specified, then the files compared are file1 (which must have a suffix of a supported com‐ pression format) and file1 from which the compression format suffix has been stripped. If two files are specified, then they are uncompressed if necessary and fed to cmp(1) or diff(1). The exit status from cmp(1) or diff(1) is preserved. The names lzcmp and lzdiff are provided for backward compatibility with LZMA Utils. SEE ALSO cmp(1), diff(1), xz(1), gzip(1), bzip2(1), lzop(1), zdiff(1) BUGS Messages from the cmp(1) or diff(1) programs refer to temporary filenames instead of those specified. Tukaani 2011-03-19 XZDIFF(1)


We take pride in providing the best products you've ever seen! We take pride in providing the best products you've ever seen! We take pride in providing the best products you've ever seen!
Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition.
Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition.
We're not doing very well. Despite what we initially thought, there is NOT a gap in the marketplace for a company that sells fax machines, AND used-to-be planets. Whooda thunk. Please help.


Get Started
Resources
Documentation
Releases
Interactive Courses
Community
Blog
Documentation
Find help and knowledge straight from the source!
Get Started
Quick Start
Creating Projects
Getting Started Tutorial
Admin
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Developers
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Cloud
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
Title of Relevant Doc
This documentation is for Version: <IP_ADDRESS>, but you can still get docs for earlier versions.
Got an improvement to the source code or want to write some docs?
Review the Guide and submit a PR
Chat with us, report issues, suggest changes, or ask questions.
Join the Community


I am learning to code!
- Focused on Tech, Media and Telecom (TMT) and Infrastructure sectors
- Automated administrative tasks with Virtual Basics for Application (VBA) codes in Excel
- Built financial models on Data Centre infrastructure transaction for company valuation
- Transaction experience: Acquisition of 30% interest in Quebrada Blanca mine by Sumitomo Metals Mining and Sumitomo Corporation ($1.2bn valuation)
- Earned 2 nd place in Chicago College Start-up Competition and was admitted to Chicago Booth New Venture Challenge Acceleration Program
- Developed creative marketing strategy for AnonyMonkey’s mobile application to reach top 3 on the Apple Store’s Social App Charts in three weeks
- UChicago Career in Business: Accepted into selective, 3-year program focused on building business acumen through weekly workshops
Admitted with top 1% score in National High School Entrace Exam
Music, surfing, books, and meeting people!


--- title: Signs of Spring date: 2016-03-18 00:00:00 -06:00 categories: - whats-blooming layout: post blog-banner: whats-blooming-now-spring.jpg post-date: March 18, 2016 post-time: 1:44 PM blog-image: wbn-default.jpg ---
Siberian Squill Scilla siberica
In the Courtyard, this flower may be small but you can't miss it. It's vibrant blue color is sure to catch your eye.
Winter Aconite Eranthis hyemalis
Come see the beautiful yellow carpet this flower has created in the Medicinal Garden.
Pasque Flower Pulsatilla vulgaris
This very hairy plant in the Medicinal Garden is sure to catch your attention and keep it for several minutes.
Cherry Blossom Lenten Rose Helleborus 'Cherry Blossom'
Along the floral walk, this is one of the many Lenten Roses in bloom.
Ballerina Tulip Tulipa 'Ballerina'
In Fern Gully, along the Floral Walk, this cute little tulip is one of the few remaining in the Garden thanks to squirrels eating their bulbs.
Golden Peony Paeonia mlokosewitschii
Here is something unique you don't see everyday! These are new leaves emerging from underground tubers.


/v1/stock-prices
with form data containing a
stock ticker and receive back an object
stockData.


-
You can insert a variety
of objects like Excel workbook, PDF or Word document, images etc., in your email message using Outlook
(any version). You can automate this process. I’ll show you how you can ...
-
Let us assume, I have two
ranges of values in my Excel worksheet. Each range has two columns each (region and sales). Now, both the
ranges have some common regions. How do you find the matching record ...
-
Let us assume, you receive
sales data (or any data) from different regions or zones in multiple Excel files, via email or any other
source. Now, you want to merge all the Excel files into one single ...
-
Its very common for Excel
users to send emails to a list of contacts. Here in this post, I’ll show you how easily you can send
emails to multiple recipients from your Excel workbook with the click ...
-
-
How to write data to a
text file or in a .txt file from Excel using a Macro? I have shared an example here that explains it. ...
-
You can use Excel as a
database, as long as your requirements are limited. Create multiple sheets in your workbook, store various
type data in the sheets and work with the data as and when required ...
-
I am sharing three simple
methods here, which shows how to pull or read data, as it is, from another Excel workbook, in your
computer or from a remote computer. While pulling or extracting the data, ...
-
In Excel, you can use the
“EDate()” method to automatically add one month from the previous date or increment the previous date by
one month. ...
-
You must be familiar with
VLOOKUP function and the error #N/A, which the function often throws when it fails to find a lookup value.
It can be annoying at times, since #N/A does not explain the error ...
-
There’s a simple division
formula that you can use to calculate the sales percentage in Excel. Let us assume you have a list of
items and number of items sold in a given period. Now, you want to ...


Iron Age
`Prev `__
I
`Next `__
--------------
**Iron Age**: n.
In the history of computing, 1961-1971 — the formative era of commercial
`*mainframe* <../M/mainframe.html>`__ technology, when ferrite-core
`*dinosaur* <../D/dinosaur.html>`__\ s ruled the earth. The Iron Age
began, ironically enough, with the delivery of the first minicomputer
(the PDP-1) and ended with the introduction of the first commercial
microprocessor (the Intel 4004) in 1971. See also `*Stone
Age* <../S/Stone-Age.html>`__; compare `*elder
days* <../E/elder-days.html>`__.
--------------
+-------------------------+----------------------------+-----------------------------+
| `Prev `__ | `Up <../I.html>`__ | `Next `__ |
+-------------------------+----------------------------+-----------------------------+
| iron | `Home <../index.html>`__ | iron box |
+-------------------------+----------------------------+-----------------------------+


All of the algorithms described in this section are used to generate a new sequence from an existing sequence by performing some type of transformation. In most cases, the output sequence is described by an output iterator. This means these algorithms can be used to overwrite an existing structure, such as a vector. Alternatively, by using an insert iterator (see Section 2.4), the algorithms can insert the new elements into a variable length structure, such as a set or list. Finally, in some cases that we will discuss, the output iterator can be the same as one of the sequences specified by an input iterator, thereby providing the ability to make an in-place transformation.
The functions std::partial_sum() and std::adjacent_difference() are declared in the header file <numeric>, while the other functions are described in the header file <algorithm>.
NOTE -- The example functions described in the following sections can be found in the file alg6.cpp.
The algorithm std::transform() is used either to make a general transformation of a single sequence, or to produce a new sequence by applying a binary function in a pair-wise fashion to corresponding elements from two different sequences. The general definition of the argument and result types are as follows:
namespace std { OutputIterator transform(InputIterator first, InputIterator last, OutputIterator result, UnaryFunction); OutputIterator transform(InputIterator first1, InputIterator last1, InputIterator first2, OutputIterator result, BinaryFunction); }
The first form applies a unary function to each element of a sequence. In the example program given below, this is used to produce a vector of int values that hold the arithmetic negation of the values in a linked list. The input and output iterators can be the same, in which case the transformation is applied in-place, as shown in the example program.
The second form takes two sequences and applies the binary function in a pair-wise fashion to corresponding elements. The transaction assumes, but does not verify, that the second sequence has at least as many elements as the first sequence. Once more, the result can either be a third sequence, or one of the two input sequences.
int square(int n) { return n * n; } void transform_example() // illustrates the use of the transform algorithm // see alg6.cpp for complete source code { // generate a list of values 1 to 6 std::list<int> aList; std::generate_n(std::inserter(aList, aList.begin()), 6, iotaGen(1)); // transform elements by squaring, copy into vector std::vector<int> aVec(6); std::transform(aList.begin(), aList.end(), aVec.begin(), square); // transform vector again, in place, yielding 4th powers std::transform(aVec.begin(), aVec.end(), aVec.begin(), square); // transform in parallel, yielding cubes std::vector<int> cubes(6); std::transform(aVec.begin(), aVec.end(), aList.begin(), cubes.begin(), std::divides<int>()); }
A partial sum of a sequence is a new sequence in which every element is formed by adding the values of all prior elements. For example, the partial sum of the vector 1 3 2 4 5 is the new vector 1 4 6 10 15. The element 4 is formed from the sum 1 + 3, the element 6 from the sum 1 + 3 + 2, and so on. Although the term sum is used in describing the operation, the binary function can be any arbitrary function. The example program illustrates this by computing partial products.
The arguments to the partial sum function are described as follows:
namespace std { OutputIterator partial_sum(InputIterator first, InputIterator last, OutputIterator result [, BinaryFunction]); }
By using the same value for both the input iterator and the result, the partial sum can be changed into an in-place transformation.
void partial_sum_example() // illustrates the use of the partial sum algorithm //see alg6.cpp for complete source code { // generate values 1 to 5 std::vector<int> aVec(5); std::generate(aVec.begin(), aVec.end(), iotaGen(1)); // output partial sums std::partial_sum(aVec.begin(), aVec.end(), std::ostream_iterator<int> (std::cout, " ")); std::cout << std::endl; // output partial products std::partial_sum(aVec.begin(), aVec.end(), std::ostream_iterator<int> (std::cout, " "), std::multiplies<int>() ); std::cout << std::endl; }
An adjacent difference of a sequence is a new sequence formed by replacing every element with the difference between the element and the immediately preceding element. The first value in the new sequence remains unchanged. For example, a sequence such as (1, 3, 2, 4, 5) is transformed into (1, 3-1, 2-3, 4-2, 5-4), and in this manner becomes the sequence (1, 2, -1, 2, 1).
As with the algorithm std::partial_sum(), the term difference is not necessarily accurate, as an arbitrary binary function can be employed. The adjacent sums for this sequence are (1, 4, 5, 6, 9), for example. The adjacent difference algorithm has the following declaration:
namespace std{ OutputIterator adjacent_difference(InputIterator first, InputIterator last, OutputIterator result [, BinaryFunction ]); }
By using the same iterator as both input and output iterator, the adjacent difference operation can be performed in place.
void adjacent_difference_example() // illustrates the use of the adjacent difference algorithm //see alg6.cpp for complete source code { // generate values 1 to 5 std::vector<int> aVec(5); std::generate(aVec.begin(), aVec.end(), iotaGen(1)); // output adjacent differences std::adjacent_difference(aVec.begin(), aVec.end(), std::ostream_iterator<int,char>(std::cout," ")), std::cout << std::endl; // output adjacent sums std::adjacent_difference(aVec.begin(), aVec.end(), std::ostream_iterator<int,char>(std::cout," "), std::plus<int>() ); std::cout << std::endl; }


The Best of Times. Worst of Times...
| DOSE: |
repeated |
insufflated |
Cocaine |
(powder / crystals) |
To make a long story short, I had alway been adamantly against coke. I had tried acid in high school and decided that it wasn't for me. I very much enjoyed shrooms and pot in college, and still do on occasion today. I felt I had been ''round the block.' Recently I discovered the dance culture and all things associated with it. Ecstasy has been a lot of fun, though I think I have a handle on it - can't exactly afford to be 'slow' the next day when you're striving to make it in the New Economy and don't want to burn too many brain cells. One night while partying, I was offered coke.
Despite the fact that I had been against it, I decided it was time to give it a go. I could no longer tell my friends who were casual users not to partake if I had no idea what they were talking about. Despite my fears of addiction, heart attack, and death, I had my first bump in a warehouse bathroom towards the end of a party. Needless-to-say, I survived.
It's been mixed feelings ever since. I've become a more regular user with a lot more friends giving it a go as well. I never wake up in the morning after a night of partying feeling like I need a line to get things going and I don't crave it all the time. Then again, I can't go out to a bar or party and not think, 'Hey, this scene would be a little bit better with some coke going around.' It's just how it is. Not to get religious, but reminds me of the Biblical story of Adam and Eve. Once they tasted the fruit, they could never go back.
My experience is this. I can now understand how a person can be pushed past better judgement seemingly against their will by a drug. Use it only with friends in a fun atmosphere and only every so often. I have had the experience of solo useage and it can make things unpleasant to say the least. I can see how a person can lose control, and though it may seem a release at times, it can end up becoming quite frightening.
I've done a lot of things in my day, and coke is without a doubt the most addictive substance I've encountered (I've heard heroin is truly the most and I refuse to cross that line). Use only with caution and care. One slip and you can find yourself wondering what you've become. I know. I've been there and back. If you find yourself doing lines on a Tuesday night, by yourself just because it's there, check yourself.
-Every time that wheel turn 'round, bound to cover just a little more ground- The ever-Grateful Dead
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.


Cop Land (15)
Starring Slyvestor Stallone, Ray Liotta, Harvey Kietal and Robert De Niro A Miramax picture
Stallone attempts to 'act' in this cop drama. The film is set in a neighbourhood pratically built by Kietal, who's nephew (played by Michael Rappaport) is involved in a car crash and killing of two black youths. Keital dosen't really want to get involved in anything, gets rid of Rappaport, and Stallone and De Niro try to work out what the hell is going on. This film should be brilliant. It sounds like a great plot, the actors are first grade, and the supporting cast is good aswell, and Stallone is attempting to deliver a good performance. However, it can't hold up. Although the acting is fantastic (even Stallone isn't bad) the directing and story is dull and long winded
Some scenes go on for too long, with nothing really happening in them. In fact, the only scenes that do work are action scenes, which I suspect Stallone was trying to avoid. In this film, serious means dull. The dialogue is warbling, and basically just repeats the same points over and over, no matter who is delivering them. The plot, which has potential, is wasted, again just being cliched after a while. In fact, the only thing that does keep the film going is Kietal and De Niro, both delivering their usual good performances. However, Stallone, although not given much to say, gives a good performance. However, it's not all that bad. As said above, the action scenes are well done. Theres also a very good ending, which uses the cinemas sound system well. In fact, the last 10 minutes of this 2 hour film are one of the best endings of 1997. If only the rest of the film was as good as the ending.
Cop Land, then, turns out not to be a power house film, but a rather dull, and not every exciting film. Hugely disappointing, and I can't really recommend it.
Overall Rating=** out of *****
Review By David Wilcock
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://wilcockmovie.home.ml.org -OR- http://www.geocities.com/hollywood/9061
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


“Speak less than you know; have more than you show.” – William
Shakespeare
“We become what we think about.” – Earl Nightingale
“Life is 10% what happens to us and 90% how we react to it.” –
Dennis P. Kimbro
“I am thankful for all of those who said NO to me. It’s because of
them I’m doing it myself.” – Albert Einstein
“Eighty percent of success is showing up.” – Woody Allen
“When I stand before God at the end of my life, I would hope that
I would not have a single bit of talent left and could say, I used
everything you gave me.”
“Our lives begin to end the day we become silent about things that
matter.” – Martin Luther King Jr.
“Nurture your mind with great thoughts. To believe in the heroic6
makes heroes.” – Benjamin Disraeli
“There is no royal road to anything. One thing at a time, all
things in succession. That which grows fast, withers as rapidly.
That which grows slowly, endures.” – Josiah Gilbert Holland
“Education costs money. But then so does ignorance.” – Sir Claus
Moser
“The only way of finding the limits of the possible is by going
beyond them into the impossible.” – Arthur C. Clarke
“You may find the worst enemy or best friend in yourself.” –
English Proverb
“Don’t worry about failures, worry about the chances you miss when
you don’t even try.” – Jack Canfield
“If not us, who? If not now, when?” – John F. Kennedy


Styles for jsUtils
Majority of the functions in jsUtils do not use any visual controls and thus does not need styling. The only exception is
jsUtils.showMsg() function. This function uses the following style "div.w20-message" that can be found in "w2-controls.css" file.
You are welcome to change the styles to your needs.
There is yet another function - jsUtils.dropShadow() - that used visual effects, but there is no corresponding style for it. It uses
cross-browser compatible semi-transparent png imgage to create a shadow. This function will be deprecated in favor of CSS 3 when most
Internet users will move to the newer browsers (IE9+, FF4+, Chrome10+).


SUBROUTINE DLASDQ( UPLO, SQRE, N, NCVT, NRU, NCC, D, E, VT, LDVT, $ U, LDU, C, LDC, WORK, INFO ) * * -- LAPACK auxiliary routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * November 2006 * * .. Scalar Arguments .. CHARACTER UPLO INTEGER INFO, LDC, LDU, LDVT, N, NCC, NCVT, NRU, SQRE * .. * .. Array Arguments .. DOUBLE PRECISION C( LDC, * ), D( * ), E( * ), U( LDU, * ), $ VT( LDVT, * ), WORK( * ) * .. * * Purpose * ======= * * DLASDQ computes the singular value decomposition (SVD) of a real * (upper or lower) bidiagonal matrix with diagonal D and offdiagonal * E, accumulating the transformations if desired. Letting B denote * the input bidiagonal matrix, the algorithm computes orthogonal * matrices Q and P such that B = Q * S * P' (P' denotes the transpose * of P). The singular values S are overwritten on D. * * The input matrix U is changed to U * Q if desired. * The input matrix VT is changed to P' * VT if desired. * The input matrix C is changed to Q' * C if desired. * * See "Computing Small Singular Values of Bidiagonal Matrices With * Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan, * LAPACK Working Note #3, for a detailed description of the algorithm. * * Arguments * ========= * * UPLO (input) CHARACTER*1 * On entry, UPLO specifies whether the input bidiagonal matrix * is upper or lower bidiagonal, and wether it is square are * not. * UPLO = 'U' or 'u' B is upper bidiagonal. * UPLO = 'L' or 'l' B is lower bidiagonal. * * SQRE (input) INTEGER * = 0: then the input matrix is N-by-N. * = 1: then the input matrix is N-by-(N+1) if UPLU = 'U' and * (N+1)-by-N if UPLU = 'L'. * * The bidiagonal matrix has * N = NL + NR + 1 rows and * M = N + SQRE >= N columns. * * N (input) INTEGER * On entry, N specifies the number of rows and columns * in the matrix. N must be at least 0. * * NCVT (input) INTEGER * On entry, NCVT specifies the number of columns of * the matrix VT. NCVT must be at least 0. * * NRU (input) INTEGER * On entry, NRU specifies the number of rows of * the matrix U. NRU must be at least 0. * * NCC (input) INTEGER * On entry, NCC specifies the number of columns of * the matrix C. NCC must be at least 0. * * D (input/output) DOUBLE PRECISION array, dimension (N) * On entry, D contains the diagonal entries of the * bidiagonal matrix whose SVD is desired. On normal exit, * D contains the singular values in ascending order. * * E (input/output) DOUBLE PRECISION array. * dimension is (N-1) if SQRE = 0 and N if SQRE = 1. * On entry, the entries of E contain the offdiagonal entries * of the bidiagonal matrix whose SVD is desired. On normal * exit, E will contain 0. If the algorithm does not converge, * D and E will contain the diagonal and superdiagonal entries * of a bidiagonal matrix orthogonally equivalent to the one * given as input. * * VT (input/output) DOUBLE PRECISION array, dimension (LDVT, NCVT) * On entry, contains a matrix which on exit has been * premultiplied by P', dimension N-by-NCVT if SQRE = 0 * and (N+1)-by-NCVT if SQRE = 1 (not referenced if NCVT=0). * * LDVT (input) INTEGER * On entry, LDVT specifies the leading dimension of VT as * declared in the calling (sub) program. LDVT must be at * least 1. If NCVT is nonzero LDVT must also be at least N. * * U (input/output) DOUBLE PRECISION array, dimension (LDU, N) * On entry, contains a matrix which on exit has been * postmultiplied by Q, dimension NRU-by-N if SQRE = 0 * and NRU-by-(N+1) if SQRE = 1 (not referenced if NRU=0). * * LDU (input) INTEGER * On entry, LDU specifies the leading dimension of U as * declared in the calling (sub) program. LDU must be at * least max( 1, NRU ) . * * C (input/output) DOUBLE PRECISION array, dimension (LDC, NCC) * On entry, contains an N-by-NCC matrix which on exit * has been premultiplied by Q' dimension N-by-NCC if SQRE = 0 * and (N+1)-by-NCC if SQRE = 1 (not referenced if NCC=0). * * LDC (input) INTEGER * On entry, LDC specifies the leading dimension of C as * declared in the calling (sub) program. LDC must be at * least 1. If NCC is nonzero, LDC must also be at least N. * * WORK (workspace) DOUBLE PRECISION array, dimension (4*N) * Workspace. Only referenced if one of NCVT, NRU, or NCC is * nonzero, and if N is at least 2. * * INFO (output) INTEGER * On exit, a value of 0 indicates a successful exit. * If INFO < 0, argument number -INFO is illegal. * If INFO > 0, the algorithm did not converge, and INFO * specifies how many superdiagonals did not converge. * * Further Details * =============== * * Based on contributions by * Ming Gu and Huan Ren, Computer Science Division, University of * California at Berkeley, USA * * ===================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO PARAMETER ( ZERO = 0.0D+0 ) * .. * .. Local Scalars .. LOGICAL ROTATE INTEGER I, ISUB, IUPLO, J, NP1, SQRE1 DOUBLE PRECISION CS, R, SMIN, SN * .. * .. External Subroutines .. EXTERNAL DBDSQR, DLARTG, DLASR, DSWAP, XERBLA * .. * .. External Functions .. LOGICAL LSAME EXTERNAL LSAME * .. * .. Intrinsic Functions .. INTRINSIC MAX * .. * .. Executable Statements .. * * Test the input parameters. * INFO = 0 IUPLO = 0 IF( LSAME( UPLO, 'U' ) ) $ IUPLO = 1 IF( LSAME( UPLO, 'L' ) ) $ IUPLO = 2 IF( IUPLO.EQ.0 ) THEN INFO = -1 ELSE IF( ( SQRE.LT.0 ) .OR. ( SQRE.GT.1 ) ) THEN INFO = -2 ELSE IF( N.LT.0 ) THEN INFO = -3 ELSE IF( NCVT.LT.0 ) THEN INFO = -4 ELSE IF( NRU.LT.0 ) THEN INFO = -5 ELSE IF( NCC.LT.0 ) THEN INFO = -6 ELSE IF( ( NCVT.EQ.0 .AND. LDVT.LT.1 ) .OR. $ ( NCVT.GT.0 .AND. LDVT.LT.MAX( 1, N ) ) ) THEN INFO = -10 ELSE IF( LDU.LT.MAX( 1, NRU ) ) THEN INFO = -12 ELSE IF( ( NCC.EQ.0 .AND. LDC.LT.1 ) .OR. $ ( NCC.GT.0 .AND. LDC.LT.MAX( 1, N ) ) ) THEN INFO = -14 END IF IF( INFO.NE.0 ) THEN CALL XERBLA( 'DLASDQ', -INFO ) RETURN END IF IF( N.EQ.0 ) $ RETURN * * ROTATE is true if any singular vectors desired, false otherwise * ROTATE = ( NCVT.GT.0 ) .OR. ( NRU.GT.0 ) .OR. ( NCC.GT.0 ) NP1 = N + 1 SQRE1 = SQRE * * If matrix non-square upper bidiagonal, rotate to be lower * bidiagonal. The rotations are on the right. * IF( ( IUPLO.EQ.1 ) .AND. ( SQRE1.EQ.1 ) ) THEN DO 10 I = 1, N - 1 CALL DLARTG( D( I ), E( I ), CS, SN, R ) D( I ) = R E( I ) = SN*D( I+1 ) D( I+1 ) = CS*D( I+1 ) IF( ROTATE ) THEN WORK( I ) = CS WORK( N+I ) = SN END IF 10 CONTINUE CALL DLARTG( D( N ), E( N ), CS, SN, R ) D( N ) = R E( N ) = ZERO IF( ROTATE ) THEN WORK( N ) = CS WORK( N+N ) = SN END IF IUPLO = 2 SQRE1 = 0 * * Update singular vectors if desired. * IF( NCVT.GT.0 ) $ CALL DLASR( 'L', 'V', 'F', NP1, NCVT, WORK( 1 ), $ WORK( NP1 ), VT, LDVT ) END IF * * If matrix lower bidiagonal, rotate to be upper bidiagonal * by applying Givens rotations on the left. * IF( IUPLO.EQ.2 ) THEN DO 20 I = 1, N - 1 CALL DLARTG( D( I ), E( I ), CS, SN, R ) D( I ) = R E( I ) = SN*D( I+1 ) D( I+1 ) = CS*D( I+1 ) IF( ROTATE ) THEN WORK( I ) = CS WORK( N+I ) = SN END IF 20 CONTINUE * * If matrix (N+1)-by-N lower bidiagonal, one additional * rotation is needed. * IF( SQRE1.EQ.1 ) THEN CALL DLARTG( D( N ), E( N ), CS, SN, R ) D( N ) = R IF( ROTATE ) THEN WORK( N ) = CS WORK( N+N ) = SN END IF END IF * * Update singular vectors if desired. * IF( NRU.GT.0 ) THEN IF( SQRE1.EQ.0 ) THEN CALL DLASR( 'R', 'V', 'F', NRU, N, WORK( 1 ), $ WORK( NP1 ), U, LDU ) ELSE CALL DLASR( 'R', 'V', 'F', NRU, NP1, WORK( 1 ), $ WORK( NP1 ), U, LDU ) END IF END IF IF( NCC.GT.0 ) THEN IF( SQRE1.EQ.0 ) THEN CALL DLASR( 'L', 'V', 'F', N, NCC, WORK( 1 ), $ WORK( NP1 ), C, LDC ) ELSE CALL DLASR( 'L', 'V', 'F', NP1, NCC, WORK( 1 ), $ WORK( NP1 ), C, LDC ) END IF END IF END IF * * Call DBDSQR to compute the SVD of the reduced real * N-by-N upper bidiagonal matrix. * CALL DBDSQR( 'U', N, NCVT, NRU, NCC, D, E, VT, LDVT, U, LDU, C, $ LDC, WORK, INFO ) * * Sort the singular values into ascending order (insertion sort on * singular values, but only one transposition per singular vector) * DO 40 I = 1, N * * Scan for smallest D(I). * ISUB = I SMIN = D( I ) DO 30 J = I + 1, N IF( D( J ).LT.SMIN ) THEN ISUB = J SMIN = D( J ) END IF 30 CONTINUE IF( ISUB.NE.I ) THEN * * Swap singular values and vectors. * D( ISUB ) = D( I ) D( I ) = SMIN IF( NCVT.GT.0 ) $ CALL DSWAP( NCVT, VT( ISUB, 1 ), LDVT, VT( I, 1 ), LDVT ) IF( NRU.GT.0 ) $ CALL DSWAP( NRU, U( 1, ISUB ), 1, U( 1, I ), 1 ) IF( NCC.GT.0 ) $ CALL DSWAP( NCC, C( ISUB, 1 ), LDC, C( I, 1 ), LDC ) END IF 40 CONTINUE * RETURN * * End of DLASDQ * END


Peter Horton Aspiring Hybrid Mobile App Developer
<EMAIL_ADDRESS>|
my account
|
Currently
Going through the SoftStack Factory coding program on track to finish in January 2017.
2012-15
California State University of Monterey Bay
Studied Business Administration
Technical skills
- HTML and CSS
- Javascript
- AngularJS
- SQL
Projects
Change Maker Heroes SliderCV
I created a this web page to show off my CV.
Experience
2010-11
Roasted Bean Coffe House
Worked for two summers on the Roasted Bean Coffe House as a barista.
Hobbies
- Hiking
- Freediving
- Cooking
Links
-<EMAIL_ADDRESS>- my account
- mytwitteraccount
- SO Account
- scholar


Active Job – Make work happen later
Active Job is a framework for declaring jobs and making them run on a variety of queuing backends. These jobs can be everything from regularly scheduled clean-ups, to billing charges, to mailings — anything that can be chopped up into small units of work and run in parallel.
It also serves as the backend for Action Mailer's #deliver_later functionality that makes it easy to turn any mailing into a job for running later. That's one of the most common jobs in a modern web application: sending emails outside the request-response cycle, so the user doesn't have to wait on it.
The main point is to ensure that all Rails
apps will have a job infrastructure
in place, even if it's in the form of an "immediate runner". We can then have
framework features and other gems build on top of that, without having to worry
about API differences between Delayed Job and Resque. Picking your queuing
backend becomes more of an operational concern, then. And you'll be able to
switch between them without having to rewrite your jobs.
You can read more about Active Job in the Active Job Basics guide.
Usage
To learn how to use your preferred queuing backend see its adapter documentation at ActiveJob::QueueAdapters.
Declare a job like so:
class MyJob < ActiveJob::Base
queue_as :my_jobs
def perform(record)
record.do_work
end
end
Enqueue a job like so:
MyJob.perform_later record # Enqueue a job to be performed as soon as the queuing system is free.
MyJob.set(wait_until: Date.tomorrow.noon).perform_later(record) # Enqueue a job to be performed tomorrow at noon.
MyJob.set(wait: 1.week).perform_later(record) # Enqueue a job to be performed 1 week from now.
That's it!
GlobalID support
Active Job supports GlobalID serialization for parameters. This makes it possible to pass live Active Record objects to your job instead of class/id pairs, which you then have to manually deserialize. Before, jobs would look like this:
class TrashableCleanupJob
def perform(trashable_class, trashable_id, depth)
trashable = trashable_class.constantize.find(trashable_id)
trashable.cleanup(depth)
end
end
Now you can simply do:
class TrashableCleanupJob
def perform(trashable, depth)
trashable.cleanup(depth)
end
end
This works with any class that mixes in GlobalID::Identification, which by default has been mixed into Active Record classes.
Supported queuing systems
Active Job has built-in adapters for multiple queuing backends (Sidekiq, Resque, Delayed Job and others). To get an up-to-date list of the adapters see the API Documentation for ActiveJob::QueueAdapters.
Please note: We are not accepting pull requests for new adapters. We encourage library authors to provide an ActiveJob adapter as part of their gem, or as a stand-alone gem. For discussion about this see the following PRs: 23311, 21406, and #32285.
Download and installation
The latest version of Active Job can be installed with RubyGems:
$ gem install activejob
Source code can be downloaded as part of the \Rails project on GitHub:
License
Active Job is released under the MIT license:
Support
API documentation is at:
Bug reports for the Ruby on \Rails project can be filed here:
Feature requests should be discussed on the rails-core mailing list here:


| Opcode/Instruction | Op/En | 64/32-bit Mode | CPUID Feature Flag | Description |
| 66 0F 58 /r ADDPD xmm1, xmm2/m128 | RM | V/V | SSE2 | Add packed double-precision floating-point values from xmm2/m128 to xmm1. |
| VEX.NDS.128.66.0F.WIG 58 /r VADDPD xmm1,xmm2, xmm3/m128 | RVM | V/V | AVX | Add packed double-precision floating-point values from xmm3/mem to xmm2 and stores result in xmm1. |
| VEX.NDS.256.66.0F.WIG 58 /r VADDPD ymm1, ymm2, ymm3/m256 | RVM | V/V | AVX | Add packed double-precision floating-point values from ymm3/mem to ymm2 and stores result in ymm1. |
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| RM | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| RVM | ModRM:reg (w) | VEX.vvvv (r) | ModRM:r/m (r) | NA |
Performs a SIMD add of the two packed double-precision floating-point values from the source operand (second operand) and the destination operand (first operand), and stores the packed double-precision floating-point results in the destination operand.
In 64-bit mode, using a REX prefix in the form of REX.R permits this instruction to access additional registers (XMM8-XMM15).
128-bit Legacy SSE version: The second source can be an XMM register or an 128-bit memory location. The destination is not distinct from the first source XMM register and the upper bits (VLMAX-1:128) of the corresponding YMM register destination are unmodified. See Chapter 11 in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1, for an overview of SIMD double-precision floating-point operation.
VEX.128 encoded version: the first source operand is an XMM register or 128-bit memory location. The destination operand is an XMM register. The upper bits (VLMAX-1:128) of the corresponding YMM register destination are zeroed.
VEX.256 encoded version: The first source operand is a YMM register. The second source operand can be a YMM register or a 256-bit memory location. The destination operand is a YMM register.
ADDPD (128-bit Legacy SSE version) DEST[63:0] ← DEST[63:0] + SRC[63:0]; DEST[127:64] ← DEST[127:64] + SRC[127:64]; DEST[VLMAX-1:128] (Unmodified) VADDPD (VEX.128 encoded version) DEST[63:0] ← SRC1[63:0] + SRC2[63:0] DEST[127:64] ← SRC1[127:64] + SRC2[127:64] DEST[VLMAX-1:128] ← 0 VADDPD (VEX.256 encoded version) DEST[63:0] ← SRC1[63:0] + SRC2[63:0] DEST[127:64] ← SRC1[127:64] + SRC2[127:64] DEST[191:128] ← SRC1[191:128] + SRC2[191:128] DEST[255:192] ← SRC1[255:192] + SRC2[255:192]
| ADDPD: | __m128d _mm_add_pd (__m128d a, __m128d b) |
| VADDPD: | __m256d _mm256_add_pd (__m256d a, __m256d b) |
Overflow, Underflow, Invalid, Precision, Denormal.
See Exceptions Type 2.


|
The zombies in the 1968 film "Night of the Living Dead" had a taste for flesh, but had not yet broadened their horizons to braaaiins. Credit: Public Domain |
They moan. They bite. They shuffle. Or sometimes, they sprint, swarm and carry on surprisingly intelligent conversation.
Zombies are something of an open-source pop-culture phenomenon. Unlike Dracula or Frankenstein, these Halloween monsters aren't based on a literary resource. In fact, the modern conception of a zombie dates back to 1968, in a movie that doesn't so much as use the word: George Romero's "Night of the Living Dead."
"He didn't call them zombies, and he didn't think about them as zombies," said Ozzy Inguanzo, a screenwriter and author of "Zombies on Film: The Definitive Story of Undead Cinema" (Rizzoli, 2014). But the public did, Inguanzo told Live Science.
"Audiences saw these lumbering dead people, and they called them zombies … therefore, they became zombies," he said. Since then, the walking undead have wormed their way into video games, comic books — and even the classics (witness 2009's novel "Pride and Prejudice and Zombies). [Zombies! Your Complete Guide to the Attack of the Dead (Infographic) ]
From Haiti to Hollywood
Credit: By Karl Tate, Infographics Artist
The true zombie origin story dates back further than 1968, of course. The sad beginning of the myth harks back to Haiti during the 1600s and 1700s, when African slaves were worked to death on sugar plantations. As UC Irvine journalism instructor Amy Wilentz pointed out in the New York Times in 2012, it's not hard to see how the notion of a dead body, stripped of will and personality, forced to do the bidding of a sorcerer, would occur to an enslaved people.
The notion of zombies is still part of Haitian folklore. The belief is that, through magic or poison, a sorcerer makes a person fall ill and appear to die. After the family buries the body, the sorcerer retrieves the person, who is alive, but held in thrall. In a 1997 article in the medical journal The Lancet, researchers studied three real-life cases of "zombification" and diagnosed the three sufferers with catatonic schizophrenia, epilepsy and mistaken identity. In the final case, a 31-year-old woman with possible fetal alcohol syndrome was mistaken for another woman who had died 13 years before. The cases suggest that zombification has often been used to explain mental illness or brain disorders in rural Haiti.
Zombies made the leap from Haitian religion to American entertainment in 1932, Inguanzo said, with a film starring Bela Lugosi and Madge Bellamy called "White Zombie." That movie, in turn, was largely inspired by a 1929 travelogue by William Seabrook, a journalist who also happened to be the kind of guy who, after failing to get a good enough description of the taste of human flesh from a West African chieftain, manages to acquire a hunk of flesh from a corpse to cook up himself. (In his 1931 book "Jungle Ways," Seabrook helpfully describes the taste as being very similar to veal.)
Zombies popped up in horror flicks over the next few decades, frequently in keeping with the Haitian voodoo theme, but sometimes branching out: The "Revenge of the Zombies" in 1943 took a sci-fi angle, with a Nazi scientist trying to create an army of the undead for Hitler. [The 10 Weirdest Ways We Deal with the Dead]
The modern zombie
But the quintessential zombie flick was actually inspired less by these films and more by vampires. Working off the 1954 post-apocalyptic novel "I Am Legend," by Richard Matheson, which tells the story of the last man standing in a world of vampirelike monsters, George Romero and John Russo told their own tale of a group of bickering humans threatened by the shuffling, moaning living dead.
"He took the Haitian component out of the previous character storylines and brought them here, to suburbia," Inguanzo said. "They were our friends, our relatives, our neighbors who were coming back from the dead."
Romero's zombies became the touchstone for those that would follow, with writers adding their own quirks to the genre. In 1985's "Return of the Living Dead," the zombies hungered not just for human flesh, but also for "braaaains." That idea stuck. The movie was also the first to introduce talking zombies, and perhaps more crucially, fast-moving zombies.
These days, fast-walking zombies are overtaking their shambling counterparts, at least on the big screen. The trend is, in part, inspired by video games like "Resident Evil," which first came out in 1996.
"Video games had a huge impact in bringing [zombies] back to the forefront," Inguanzo said. "These are easy bad guys to kill. There's no remorse there."
The zombie virus has also spread to the comic-book world, like the 2005-2006 Marvel series in which all of Marvel's superheroes get infected by a zombie virus. The superheroes stay strong and smart, but crave human flesh. Even wholesome Archie Comics has been bitten by the zombie bug, with a 2013 series called "Afterlife with Archie."
Zombie comics are, in turn, making the leap back to the screen, as with AMC's series "The Walking Dead." And Hollywood seems to be recognizing that zombies are moneymakers, turning out big-budget Brad Pitt spectacles like 2013's "World War Z."
"Those types of movies are focusing on explosions and action and adrenaline," Inguanzo said.
Follow Stephanie Pappas on Twitter and Google+. Follow us @livescience, Facebook & Google+. Original article on Live Science.