1. A computer program product for executing a machine instruction in a central processing unit, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode, a first register field, a second register field, an index field, a base field and a displacement value, the machine instruction for performing a determining function, the computer program product comprising: a non-transitory computer readable medium readable by a processor and storing instructions for execution by the processor for performing a method comprising:
performing a function defined by the opcode of the machine instruction of determining whether a first operand included in a register specified by the register field is a safe decimal floating point number or is a potentially unsafe decimal floating point number, said function comprising:
determining a data group and a sign for the first operand;
determining a plurality of second operand bits using the index
field, base field and displacement value of the machine instruction, each bit of the plurality of second operand bits corresponding to a data group and sign combination;
selecting a bit of the plurality of second operand bits based on the
data group and sign determined for the first operand;
determining a value of the selected bit; and
setting a condition code based on the value of the selected bit, the
condition code indicating whether a result of a floating point operation is safe or potentially unsafe.
2. The computer program product of claim 1, wherein the register specified by the register field comprises a floating point register.
3. The computer program product of claim 1, wherein the determining the plurality of second operand bits comprises adding the contents of a register specified by the index field, the contents of a register specified by the base field, and the displacement value to obtain the plurality of second operand bits.
4. The computer program product of claim 3, wherein the result of adding the contents of a register specified by the index field, the contents of a register specified by the base field, and the displacement value comprises 64 bits, and wherein bits 0-51 are ignored, the plurality of second operand bits comprise bits 52-63, and wherein each bit of bits 52-63 corresponds to a particular data group and sign combination.
5. The computer program product of claim 4, wherein:
bit 52 corresponds to a data group having the characteristics of finite number, zero significand, and nonextreme exponent, and to a sign of positive;
bit 53 corresponds to a data group having the characteristics of finite number, zero significand, and nonextreme exponent, and to a sign of negative;
bit 54 corresponds to a data group having the characteristics of finite number, zero significand, and extreme exponent, and to a sign of positive;
bit 55 corresponds to a data group having the characteristics of finite number, zero significand, and extreme exponent, and to a sign of negative;
bit 56 corresponds to a data group having the characteristics of finite number, nonzero significand, and extreme exponent, and to a sign of positive;
bit 57 corresponds to a data group having the characteristics of finite number, nonzero significand, and extreme exponent, and to a sign of negative;
bit 58 corresponds to a data group having the characteristics of finite number, nonzero significand, nonextreme exponent, and zero leftmost digit in the significand, and to a sign of positive;
bit 59 corresponds to a data group having the characteristics of finite number, nonzero significand, nonextreme exponent, and zero leftmost digit in the significand, and to a sign of negative;
bit 60 corresponds to a data group having the characteristics of finite number, nonzero significand, nonextreme exponent and nonzero leftmost digit in the significand, and to a sign of positive;
bit 61 corresponds to a data group having the characteristics of finite number, nonzero significand, nonextreme exponent and nonzero leftmost digit in the significand, and to a sign of negative;
bit 62 corresponds to a data group having the characteristics of infinity or not a number, and to a sign of positive; and
bit 63 corresponds to a data group having the characteristics of infinity or not a number, and to a sign of negative.
6. The computer program product of claim 1, wherein the condition code indicates whether characteristics of a value specified in the first operand match one or more selected conditions.
7. The computer program product of claim 6, wherein a match indicates the value is safe or potentially unsafe depending on the selected conditions.
8. The computer program product of claim 1, wherein the machine instruction comprises 48 bits, and wherein the opcode comprises bit 0-7 and 40-47, the register field comprises bits 8-11, the index field comprises bits 12-15, the base field comprises bits 16-19, and the displacement field comprises bits 20-31.
9. The computer program product of claim 1, wherein the computer architecture is the IBM\xae zArchitecture, and wherein the machine instruction has an RXE format according to the IBM\xae zArchitecture.
10. The computer program product of claim 1, wherein safe indicates that use of a larger data format would not produce a different value or quantum.
11. The computer program product of claim 1, wherein the computer readable program code logic is emulator code.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An automated self-service dry cleaning and laundry drop-off and retrieval system for: use by a dry cleaning establishment for receiving and returning goods to be laundered, the system comprising:
a system computer;
an upright kiosk for both receiving goods dropped off by customers and returning processed goods back to customers, the kiosk comprising:
an external access door through which customers drop off items for cleaning or retrieve items that have already been cleaned;
an internal rotary door for transferring goods through said kiosk within said dry cleaning establishment, the internal door supporting a delivery hook for holding items;
a touch screen display monitor for displaying customer options and recognizing customer selection inputs;
a card reader for identification and facilitating financial and identification transactions;
a printer for preparing customer receipts; and,
means for assigning dropped off goods a unique order number and transferring the number to said computer;
a conveyor within said establishment proximate said kiosk for storing goods and delivering cleaned goods to said kiosk for customer pick-up;
a customer user interface program adapted to run on said computer that is responsive to said touch screen monitor;
means for scanning goods transferred through said kiosk into said establishment;
a conveyor within said establishment for handling goods, said conveyor comprising a plurality of garment hanging racks for supporting hangers with items attached; garment transfer means for transferring items both from the conveyor to the delivery hook and, in the case of customer-rejected or forgotten items, from the delivery hook back to the conveyor;
means of loading processed items onto the conveyor by an operator through a load station for assignment of location and tracking for later retrieval;
wherein a program executes the following steps:
(a) executing a display welcome screen on said touch screen display prompting the customer to press a start button on the computer touch screen or to swipe a magnetic card in the card reader;
(b) executing a \u201cWait for card swipe\u201d step to monitor the magnetic card reader for a valid customer input, and if not, returning to the welcome screen;
( c) if a valid card input is detected, processing Card Swipe information, then prompting the customer for their phone number and looking up the customer in a database, or, if a new phone number is determined, obtaining new customer information;
(d) executing a \u201cCheck for Ready Items\u201d step to determine if a valid order for this customer is ready for delivery, and, if so, delivering the order to the customer through said access door;
(e) executing a process drop off step if the customer indicates they have items to be dropped off by prompting the customer to enter details about the order, then processing the order by assigning a unique order number, printing receipts and transferring the order number through the kiosk;
(f) executing a finish transaction step by determining if a customer wishes to reject a delivered order, and, if so, opening the access door to allow the rejected order to be reprocessed, and if not, returning to said step (a).
2. The computerized system as defined in claim 1 further comprising a dispenser accessible from said kiosk for vending disposable bags for customers.
3. The computerized system as defined in claim 1 further comprising audio feedback means for audibly assisting customers.
4. The computerized system as defined in claim 1 further comprising means fio locking the rotary door whenever the access door is opened.
5. The computerized system as defined in claim 1 wherein the kiosk comprises a rotary door for discharging dropped off items from said kiosk and a clothes drop ram for further moving dropped off items away from kiosk.
6. The computerized system as defined in claim 5 further comprising a front door sensor for detecting whether the access door is open or closed
7. The computerized system as defined in claim 5 further comprising a returned item sensor for detecting the presence of customer-rejected or forgotten items on said transfer hook, and wherein the computer program allows customers the choice to return rejected items by placing them back inside said kiosk.
8. The computerized system as defined in claim 7 wherein each conveyor hanger bracket comprises internal V-shaped slots causing garment hangers to assume a stable middle position within the bracket slot.
9. The computerized system as defined in claim 1 wherein said step 1(b) comprises the further steps of:
(a) testing for a valid swipe by parsing magnetic track data from the card reader and checking for the validity of the input by determining if the magnetic card data is corrupt or in an incompatible format;
(b) if the swipe is invalid as determined in the preceding step, setting an error condition and passing control back to the customer user interface and if the swipe is valid Parsing Magnetic Data for information including card number, expiration date and the card holder name;
(c) determining if a loyalty card is in use, and, if so, storing the loyalty card number and passing control back to the customer user interface, and if not, executing a \u201cReturn Customer Name\u201d step to store customer name data from the magnetic stripe and passing back to the customer user interface.
10. The computerized system as defined in claim 1 wherein if step 1(f) determines that an order has been rejected, executing the further steps of:
(a) executing a \u201cProcess reject of an order\u201d step and creating a \u201cReject record\u201d Containing the customer ID, phone number, date and time of the transaction;
(b) executing a \u201cDisplay instructions for user to place order on hook inside of cabinet and close door\u201d step by interfacing the touch screen display, presenting instructions for the customer to place the order they are returning on the delivery hook, and closing the access; door;
( c) transferring the rejected order through the kiosk to the establishment interior for processing.
11. The computerized system as defined in claim 1 wherein items forgotten and left behind within the kiosk by a customer are removed and made available for customer retrieval again by execution of the following steps:
(a) detecting any items left on the delivery hook;
(b) determining if items were rejected by the last customer, and if not,
(c) creation of a left behind order record
(d) assigning an available slot on the storage conveyor for the forgotten order;
(e) transferring the items from the delivery hook to said slot;
(f) creating an order record for the last customer who used the kiosk, enabling the order to be retrieved by that customer in the event they return.
12. An automated self-service dry cleaning and laundry drop-off and retrieval system for use by a dry cleaning establishment for receiving and returning goods to be laundered, the system comprising:
a system computer;
an upright kiosk for both receiving goods dropped off by customers and returning processed goods back to customers, the kiosk comprising:
an external access door through which customers drop off items for cleaning or retrieve items that have already been cleaned;
an internal rotary door for transferring goods through said kiosk within said dry cleaning establishment, the internal door comprising a delivery hook for holding items;
a touch screen display monitor for displaying customer options and recognizing customer selection inputs;
a card reader for identification and facilitating financial transactions;
a printer for preparing customer receipts;
means for assigning dropped off goods a unique order number and transferring the number to said computer;
a dispenser accessible from said kiosk for vending disposable bags for customers;
a clothes drop ram for discharging dropped off items or forgotten items from said kiosk through said rotary door;
a door sensor for detecting whether the access door is open or closed;
a returned item sensor for detecting the presence of customer-rejected items on said transfer hook;
13. The computerized system as defined in claim 12 further comprising audio feedback means for audibly assisting customers.
14. The computerized system as defined in claim 12 further comprising means for locking the rotary door whenever the access door is opened.
a conveyor within said establishment proximate said kiosk for storing goods and delivering cleaned goods to said kiosk for customer pick-up;
a customer user interface program adapted to run on said computer that is responsive to said touch screen monitor;
means for scanning goods transferred through said kiosk into said establishment;
a conveyor within said establishment for handling goods, said conveyor comprising a plurality of garment hanging racks for supporting hangers with items attached;
garment transfer means for transferring items between said delivery hook and said conveyor, the garment transfer means responsive to said program for recognizing the customer order number so that the order can be properly loaded onto said conveyor;
wherein the program executes the following steps:
(a) executing a display welcome screen on said touch screen display prompting the customer to press a start button on the computer touch screen or to swipe a magnetic card in the card reader;
(b) executing a \u201cWait for card swipe\u201d step to monitor the magnetic card reader for a valid customer input, and if not, returning to the welcome screen;
( c) if a valid card input is detected, processing Card Swipe information by prompting the customer for their phone number and looking up the customer in a database, or, if a new phone number is determined, obtaining new customer information;
(d) executing a \u201cCheck for Ready Items\u201d step to determine if a valid order for this customer is ready for delivery, and, if so, delivering the order to the customer through said access door;
(e) executing a process drop off step if the customer indicates they have items to be dropped off by prompting the customer to enter details about the order, then processing the order by assigning a unique order number, printing receipts and transferring the order number through the kiosk;
(f) executing a finish transaction step by determining if a customer wishes to reject a delivered order, and, if so, opening the access door to allow the rejected order to be reprocessed, and if not, returning to said step (a).
15. The computerized system as defined in claim 14 wherein each conveyor hanger bracket comprises internal V-shaped slots causing garment hangers to assume a stable middle position within the bracket slot.
16. The computerized system as defined in claim 14 wherein said step 12(b) comprises the further steps of:
(a) testing for a valid swipe by parsing magnetic track data from the card reader and checking for the validity of the input by determining if the magnetic card data is corrupt or in an incompatible format;
(b) if the swipe is invalid as determined in the preceding step, setting an error condition and passing control back to the customer user interface and if the swipe is valid Parsing Magnetic Data for information including card number, expiration date and the card holder name;
(c) determining if a loyalty card is in use, and, if so, storing the loyalty card number and passing control back to the customer user interface, and if not, executing a \u201cReturn Customer Name\u201d step to store customer name data from the magnetic stripe and passing back to the customer user interface.
17. The computerized system as defined in claim 12 wherein if step 12(f) determines that an order has been rejected, executing the further steps of:
(a) executing a \u201cProcess reject of an order\u201d step and creating a \u201cReject record\u201d Containing the customer ID, phone number, date and time of the transaction;
(b) executing a \u201cDisplay instructions for user to place order on hook inside of cabinet and close door\u201d step by interfacing the touch screen display, presenting instructions for the customer to place the order they are returning on the delivery hook, and closing the access; door;
(c) transferring the rejected order through the kiosk to the establishment interior for processing.
18. The computerized system as defined in claim 17 wherein items forgotten and left behind within the kiosk by a customer are removed and made available for customer retrieval again by execution of the following steps:
(g) detecting any items left on the delivery hook;
(h) determining if items were rejected by the last customer, and if not,
(i) creation of a left behind order record
(j) assigning an available slot on the storage conveyor for the forgotten order;
(k) transferring the items from the delivery hook to said slot;
(l) creating an order record for the last customer who used the kiosk, enabling the order to be retrieved by that customer in the event they return.