|
Sensor Fusion Library
0.4.0
Orientation sensing for Espressif (ESP32, ESP8266) processors
|
The sensor_fusion.h file implements the top level programming interface. More...
#include <Arduino.h>
#include <math.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "board.h"
#include "build.h"
#include "driver_sensors_types.h"
#include "magnetic.h"
#include "matrix.h"
#include "orientation.h"
#include "precisionAccelerometer.h"
Go to the source code of this file.
Classes | |
| struct | PhysicalSensor |
| An instance of PhysicalSensor structure type should be allocated for each physical sensors (combo devices = 1) More... | |
| struct | PressureSensor |
| The PressureSensor structure stores raw and processed measurements for an altimeter. More... | |
| struct | AccelSensor |
| The AccelSensor structure stores raw and processed measurements for a 3-axis accelerometer. More... | |
| struct | MagSensor |
| The MagSensor structure stores raw and processed measurements for a 3-axis magnetic sensor. More... | |
| struct | TempSensor |
| The TempSensor structure stores raw temperature readings. More... | |
| struct | GyroSensor |
| The GyroSensor structure stores raw and processed measurements for a 3-axis gyroscope. More... | |
| union | FifoSensor |
| The FifoSensor union allows us to use common pointers for Accel, Mag & Gyro logical sensor structures. More... | |
| struct | SV_1DOF_P_BASIC |
| The SV_1DOF_P_BASIC structure contains state information for a pressure sensor/altimeter. More... | |
| struct | SV_3DOF_G_BASIC |
| This is the 3DOF basic accelerometer state vector structure. More... | |
| struct | SV_3DOF_B_BASIC |
| This is the 3DOF basic magnetometer state vector structure/. More... | |
| struct | SV_3DOF_Y_BASIC |
| SV_3DOF_Y_BASIC structure is the 3DOF basic gyroscope state vector structure. More... | |
| struct | SV_6DOF_GB_BASIC |
| SV_6DOF_GB_BASIC is the 6DOF basic accelerometer and magnetometer state vector structure. More... | |
| struct | SV_6DOF_GY_KALMAN |
| SV_6DOF_GY_KALMAN is the 6DOF Kalman filter accelerometer and gyroscope state vector structure. More... | |
| struct | SV_9DOF_GBY_KALMAN |
| SV_9DOF_GBY_KALMAN is the 9DOF Kalman filter accelerometer, magnetometer and gyroscope state vector structure. More... | |
| struct | SV_COMMON |
| struct | SensorFusionGlobals |
| The top level fusion structure. More... | |
Macros | |
| #define | true 1 |
| Boolean TRUE. | |
| #define | false 0 |
| Boolean FALSE. | |
Vector Components | |
Index values for accessing vector terms | |
| #define | CHX 0 |
| Used to access X-channel entries in various data data structures. | |
| #define | CHY 1 |
| Used to access Y-channel entries in various data data structures. | |
| #define | CHZ 2 |
| Used to access Z-channel entries in various data data structures. | |
Math Constants | |
useful multiplicative conversion constants | |
| #define | PI 3.141592654F |
| pi (it is also defined in Arduino.h) | |
| #define | PIOVER2 1.570796327F |
| pi / 2 | |
| #define | FPIOVER180 0.01745329251994F |
| degrees to radians conversion = pi / 180 | |
| #define | F180OVERPI 57.2957795130823F |
| radians to degrees conversion = 180 / pi | |
| #define | F180OVERPISQ 3282.8063500117F |
| square of F180OVERPI | |
| #define | ONETHIRD 0.33333333F |
| one third | |
| #define | ONESIXTH 0.166666667F |
| one sixth | |
| #define | ONESIXTEENTH 0.0625F |
| one sixteenth | |
| #define | ONEOVER12 0.083333333F |
| 1 / 12 | |
| #define | ONEOVER48 0.02083333333F |
| 1 / 48 | |
| #define | ONEOVER120 0.0083333333F |
| 1 / 120 | |
| #define | ONEOVER3840 0.0002604166667F |
| 1 / 3840 | |
| #define | ONEOVERSQRT2 0.707106781F |
| 1/sqrt(2) | |
| #define | SQRT15OVER4 0.968245837F |
| sqrt(15)/4 | |
| #define | GTOMSEC2 9.80665 |
| standard gravity in m/s2 | |
Typedefs | |
| typedef enum quaternion | quaternion_type |
| the quaternion type to be transmitted | |
| typedef int8_t() | initializeSensor_t(struct PhysicalSensor *sensor, struct SensorFusionGlobals *sfg) |
| typedef int8_t() | readSensor_t(struct PhysicalSensor *sensor, struct SensorFusionGlobals *sfg) |
| typedef int8_t() | readSensors_t(struct SensorFusionGlobals *sfg, uint8_t read_loop_counter) |
| typedef int8_t() | installSensor_t(struct SensorFusionGlobals *sfg, struct PhysicalSensor *sensor, uint16_t addr, uint16_t schedule, registerDeviceInfo_t *busInfo, initializeSensor_t *initialize, readSensor_t *read) |
| typedef void() | initializeFusionEngine_t(struct SensorFusionGlobals *sfg, int pin_i2c_sda1, int pin_i2c_scl) |
| typedef void() | runFusion_t(struct SensorFusionGlobals *sfg) |
| typedef void() | clearFIFOs_t(struct SensorFusionGlobals *sfg) |
| typedef void() | conditionSensorReadings_t(struct SensorFusionGlobals *sfg) |
| typedef void() | applyPerturbation_t(struct SensorFusionGlobals *sfg) |
| typedef void() | setStatus_t(struct SensorFusionGlobals *sfg, fusion_status_t status) |
| typedef fusion_status_t() | getStatus_t(struct SensorFusionGlobals *sfg) |
| typedef void() | updateStatus_t(struct SensorFusionGlobals *sfg) |
| typedef void() | ssSetStatus_t(struct StatusSubsystem *pStatus, fusion_status_t status) |
| typedef fusion_status_t() | ssGetStatus_t(struct StatusSubsystem *pStatus) |
| typedef void() | ssUpdateStatus_t(struct StatusSubsystem *pStatus) |
| typedef struct SV_COMMON * | SV_ptr |
| typedef struct SensorFusionGlobals | SensorFusionGlobals |
| The top level fusion structure. More... | |
Enumerations | |
| enum | quaternion { Q3, Q3M, Q3G, Q6MA, Q6AG, Q9 } |
| the quaternion type to be transmitted More... | |
| enum | fusion_status_t { OFF, INITIALIZING, LOWPOWER, NORMAL, RECEIVING_WIRED, RECEIVING_WIRELESS, HARD_FAULT, SOFT_FAULT } |
| Application-specific serial communications system. More... | |
Functions | |
| void | initSensorFusionGlobals (SensorFusionGlobals *sfg, struct StatusSubsystem *pStatusSubsystem, struct ControlSubsystem *pControlSubsystem) |
| utility function to insert default values in the top level structure More... | |
| void | conditionSensorReadings (SensorFusionGlobals *sfg) |
| void | clearFIFOs (SensorFusionGlobals *sfg) |
| Function to clear FIFO at the end of each fusion computation. More... | |
| void | zeroArray (struct StatusSubsystem *pStatus, void *data, uint16_t size, uint16_t numElements, uint8_t check) |
| void | conditionSample (int16_t sample[3]) |
| conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768). More... | |
| void | addToFifo (union FifoSensor *sensor, uint16_t maxFifoSize, int16_t sample[3]) |
| addToFifo is called from within sensor driver read functions More... | |
| void | ApplyAccelHAL (struct AccelSensor *Accel) |
| Apply the accelerometer Hardware Abstraction Layer. More... | |
| void | ApplyMagHAL (struct MagSensor *Mag) |
| Apply the magnetometer Hardware Abstraction Layer. More... | |
| void | ApplyGyroHAL (struct GyroSensor *Gyro) |
| Apply the gyroscope Hardware Abstraction Layer. More... | |
Variables | |
| installSensor_t | installSensor |
| initializeFusionEngine_t | initializeFusionEngine |
| runFusion_t | runFusion |
| readSensors_t | readSensors |
| applyPerturbation_t | ApplyPerturbation |
| ApplyPerturbation is a reverse unit-step test function. More... | |
The sensor_fusion.h file implements the top level programming interface.
| typedef struct SensorFusionGlobals SensorFusionGlobals |
The top level fusion structure.
The top level fusion structure grows/shrinks based upon flag definitions contained in build.h. These same flags will populate the .iFlags field for run-time access.
| enum fusion_status_t |
Application-specific serial communications system.
| enum quaternion |
the quaternion type to be transmitted
| Enumerator | |
|---|---|
| Q3 | Quaternion derived from 3-axis accel (tilt) |
| Q3M | Quaternion derived from 3-axis mag only (auto compass algorithm) |
| Q3G | Quaternion derived from 3-axis gyro only (rotation) |
| Q6MA | Quaternion derived from 3-axis accel + 3 axis mag (eCompass) |
| Q6AG | Quaternion derived from 3-axis accel + 3-axis gyro (gaming) |
| Q9 | Quaternion derived from full 9-axis sensor fusion. |
| void addToFifo | ( | union FifoSensor * | sensor, |
| uint16_t | maxFifoSize, | ||
| int16_t | sample[3] | ||
| ) |
addToFifo is called from within sensor driver read functions
addToFifo is called from within sensor driver read functions to transfer new readings into the sensor structure corresponding to accel, gyro or mag. This function ensures that the software FIFOs are not overrun.
example usage: if (status==SENSOR_ERROR_NONE) addToFifo((FifoSensor*) &(sfg->Mag), MAG_FIFO_SIZE, sample);
| sensor | pointer to structure of type AccelSensor, MagSensor or GyroSensor |
| maxFifoSize | the size of the software (not hardware) FIFO |
| sample | the sample to add |
| void ApplyAccelHAL | ( | struct AccelSensor * | Accel | ) |
Apply the accelerometer Hardware Abstraction Layer.
| Accel | pointer to accelerometer logical sensor |
| void ApplyGyroHAL | ( | struct GyroSensor * | Gyro | ) |
Apply the gyroscope Hardware Abstraction Layer.
| Gyro | pointer to gyroscope logical sensor |
| void ApplyMagHAL | ( | struct MagSensor * | Mag | ) |
Apply the magnetometer Hardware Abstraction Layer.
| Mag | pointer to magnetometer logical sensor |
| void clearFIFOs | ( | SensorFusionGlobals * | sfg | ) |
Function to clear FIFO at the end of each fusion computation.
| sfg | Global data structure pointer |
| void conditionSample | ( | int16_t | sample[3] | ) |
conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768).
conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768). This value cannot be negated, because the maximum positive value is +32767. We need the ability to negate to gaurantee that subsequent HAL operations can be run successfully.
| sample | 16-bit register value from triaxial sensor read |
| void conditionSensorReadings | ( | SensorFusionGlobals * | sfg | ) |
conditionSensorReadings() transforms raw software FIFO readings into forms that can be consumed by the sensor fusion engine. This include sample averaging and (in the case of the gyro) integrations, applying hardware abstraction layers, and calibration functions. This function is normally involved via the "sfg." global pointer.
conditionSensorReadings() transforms raw software FIFO readings into forms that can be consumed by the sensor fusion engine. This include sample averaging and (in the case of the gyro) integrations, applying hardware abstraction layers, and calibration functions. This function is normally invoked via the "sfg." global pointer.
| void initSensorFusionGlobals | ( | SensorFusionGlobals * | sfg, |
| struct StatusSubsystem * | pStatusSubsystem, | ||
| struct ControlSubsystem * | pControlSubsystem | ||
| ) |
utility function to insert default values in the top level structure
| sfg | Global data structure pointer |
| pStatusSubsystem | Status subsystem pointer |
| pControlSubsystem | Control subsystem pointer |
| void zeroArray | ( | struct StatusSubsystem * | pStatus, |
| void * | data, | ||
| uint16_t | size, | ||
| uint16_t | numElements, | ||
| uint8_t | check | ||
| ) |
| pStatus | Status subsystem pointer |
| data | pointer to array to be zeroed |
| size | data type size = 8, 16 or 32 |
| numElements | number of elements to zero out |
| check | true if you would like to verify writes, false otherwise |
| applyPerturbation_t ApplyPerturbation |
ApplyPerturbation is a reverse unit-step test function.
The ApplyPerturbation function applies a user-specified step function to prior fusion results which is then "released" in the next fusion cycle. When used in conjuction with the NXP Sensor Fusion Toolbox, this provides a visual indication of the dynamic behavior of the library. ApplyPerturbation() is defined in fusion_testing.c.


--- layout: map title: The Centennial Collection subtitle: Where We Are permalink: "/retail-places/centennial-collection/" class: centennial-collection parent: Retail Places description: categories: ---


Hostel
NE1up4
Reviews 85%
Yes Inn Causway Bay $75
2/F, Nan Yip Building, 472, Hennessy Road, Causeway Bay, Hong Kong
2/F, Nan Yip Building, 472, Hennessy Road, Causeway Bay, Hong Kong
Yesinn @Causeway Bay is a new hostel located near Causeway Bay subway station in central Hong Kong, across the road from the bus from the airport. Opened in 2012, this hostel...
Hostel
NE1up4
Reviews 85%
-
Pizza in brooklyn?Amy Lynch
Tomorrow
2:00pm -
a walk in the park and maybe play frisbee?Jason Miller
Saturday 8/17
4:00pm -
the best dim sum in Chinatown?Mike Kim
Saturday 8/17
7:00pm
Hostel
NE1up4
Reviews 85%
90%
85% One of the best Hostel I stayed in. I would highly recommend to anyone going to HK and wanting to make...
90%
This hostel cannot be faulted. Rooms are clean, wi-fi is plentiful and location is excellent. Cannot say more! ...
90%
Very close to Causeway Bay metro station and 15 walking to CBD and Central area. The only negative point...
See More
See More
Hostel
NE1up4
Reviews 85%
Yes Inn Causway Bay $75
2/F, Nan Yip Building, 472, Hennessy Road, Causeway Bay, Hong Kong
2/F, Nan Yip Building, 472, Hennessy Road, Causeway Bay, Hong Kong
Yesinn @Causeway Bay is a new hostel located near Causeway Bay subway station in central Hong Kong, across the road from the bus from the airport. Opened in 2012, this hostel...


- add(byte) - Method in class com.esplibrary.utilities.ByteList
-
Adds newByte at the end of this list.
- addAlert(AlertData) - Method in class com.esplibrary.client.AlertDataProcessor
-
- addAll(byte[]) - Method in class com.esplibrary.utilities.ByteList
-
Adds the array of bytes at the end of this list.
- addAll(int, byte[]) - Method in class com.esplibrary.utilities.ByteList
-
Adds the array of bytes at index to this list.
- addBluetoothDevice(BluetoothDevice, ConnectionType, int) - Method in class com.esplibrary.bluetooth.BluetoothDeviceAdapter
-
Adds BluetoothDevice
to this adapters data set.
- addConnectionListener(ConnectionListener) - Method in interface com.esplibrary.bluetooth.IV1connectionWrapper
-
Add a listener for connection events.
- addConnectionListener(ConnectionListener) - Method in class com.esplibrary.bluetooth.V1connectionBaseWrapper
-
- addConnectionListener(ConnectionListener) - Method in class com.esplibrary.client.ESPValentineClient
-
- addConnectionListener(ConnectionListener) - Method in interface com.esplibrary.client.IESPClient
-
Add a listener to be invoked when a connection events occurs.
- addRequest(ESPRequest) - Method in interface com.esplibrary.bluetooth.IV1connectionWrapper
-
- addRequest(ESPRequest, boolean) - Method in interface com.esplibrary.bluetooth.IV1connectionWrapper
-
- addRequest(ESPRequest) - Method in class com.esplibrary.bluetooth.V1connectionBaseWrapper
-
- addRequest(ESPRequest, boolean) - Method in class com.esplibrary.bluetooth.V1connectionBaseWrapper
-
- addRequest(ESPRequest) - Method in class com.esplibrary.bluetooth.V1connectionDemoWrapper
-
- addRequest(ESPRequest) - Method in class com.esplibrary.client.ESPValentineClient
-
Add an
ESPRequest
that will be sent out on the ESP bus.
- addResponse(ResponseHandler) - Method in class com.esplibrary.client.ResponseProcessor
-
- addResponseID(int) - Method in class com.esplibrary.client.ResponseHandler
-
Registers a packet ID of the packet that this handler should respond to.
- addSentRequest(ESPRequest) - Method in class com.esplibrary.client.ResponseHandler
-
Adds the provided
ESPRequest
to this handler and set's it sent time.
- addSubsetOfBytes(byte[], int) - Method in class com.esplibrary.utilities.ByteList
-
Adds length of values from bytes starting at 0
index.
- addSweepDefinition(SweepDefinition) - Method in class com.esplibrary.client.SweepDefinitionProcessor
-
- addSweepSection(ResponseSweepSections) - Method in class com.esplibrary.client.SweepSectionProcessor
-
Adds a sweep section response packet received from the V1.
- addToEchoQueue(ESPPacket) - Method in class com.esplibrary.bluetooth.V1connectionBaseWrapper
-
Add's an ESP packet to the echo queue.
- ALERT_INDEX_COUNT_IDX - Static variable in class com.esplibrary.data.AlertData
-
- AlertBand - Enum in com.esplibrary.data
-
Represents an alert band that an
AlertData
instance can belong to.
- AlertData - Class in com.esplibrary.data
-
Created by JDavis on 3/16/2016.
- AlertData() - Constructor for class com.esplibrary.data.AlertData
-
Constructs an empty alert
- AlertData(AlertData) - Constructor for class com.esplibrary.data.AlertData
-
Construct a new alert containing the alert information in src.
- AlertData(byte[]) - Constructor for class com.esplibrary.data.AlertData
-
Construct a new alert containing the alert information in src.
- AlertData(byte[], int, int) - Constructor for class com.esplibrary.data.AlertData
-
Constructs a new alert containing the alert information in src.
- AlertDataProcessor - Class in com.esplibrary.client
-
Utility class for assembly an alert table from individual
AlertData
.
- AlertDataProcessor() - Constructor for class com.esplibrary.client.AlertDataProcessor
-
- areContentsTheSame(int, int) - Method in class com.esplibrary.bluetooth.BluetoothDeviceAdapter.BTDiffCallback
-
- areCustomFrequenciesEnabled() - Method in class com.esplibrary.data.V19UserSettings
-
Indicates if the Custom Frequencies feature is enabled.
- areDefaultSweepDefinitionsAvailableForV1Version(double) - Method in class com.esplibrary.client.ESPValentineClient
-
- areDefaultSweepDefinitionsAvailableForV1Version(double) - Method in interface com.esplibrary.client.IESPClient
-
- areDefaultSweepDefsAvailable(double) - Static method in class com.esplibrary.utilities.V1VersionInfo
-
- areEdgesEqual() - Method in class com.esplibrary.utilities.Range
-
Indicates if the low and high bounds are equivalent to one another
- areItemsTheSame(int, int) - Method in class com.esplibrary.bluetooth.BluetoothDeviceAdapter.BTDiffCallback
-
- areKBandSweepAvailable(double) - Static method in class com.esplibrary.utilities.V1VersionInfo
-
Indicates if
AlertBand.K
band sweeps are available for the
specified V1 version.
- AUTO - Static variable in class com.esplibrary.packets.request.RequestOverrideThumbwheel
-
- AUX_BYTE_IDX - Static variable in class com.esplibrary.data.AlertData
-


[filmcritic.com presents a review from guest writer Bradley Null. You can find the review with full credits at http://www.filmcritic.com/misc/emporium.nsf/2a460f93626cd4678625624c007f2b46/26de22cbfc3e38508825681f000d08c0?OpenDocument
There are two types of comedies coming out of Hollywood today: adult-oriented star-vehicles and teen-oriented ensemble pictures. You can say what you will about the preponderance of whining, post-modern `Dawson's Creek' reprises stocking our airwaves and movie theaters, but you can't say much at all about the vacuous one-trick pony known as the modern Hollywood romantic comedy. So I will keep my comments on THE BACHELOR brief.
In full, the plot of THE BACHELOR is that Chris O'Donnell has 27 hours to tie the knot, which would assure him of a $100 million inheritance and cozy jobs for life for himself and all of his friends. Unfortunately, he already monumentally botched his proposal to his girlfriend, Renee Zellweger (I won't bother with character names here; I didn't remember them, you won't either). Wacky high-jinks ensue, and we all hope desperately it will work out for the best between Chris and Renee.
If you've seen the trailer for this movie, you've already sapped all of the sentiment that you're going to get out of this vehicle. In its feature length form, THE BACHELOR throws in some awkward voice-over, a trite recurring dream sequence wherein O'Donnell imagines himself a mustang, and an apparently mute James Cromwell.
In a word, THE BACHELOR is insignificant. No characters, no depth, no theme, no message. Even its intended witticisms fall flat. (And by the way, James Cromwell's *got* to say something. He's the best actor in the film.)
It's sad that the only comedies starring actors old enough to rent a car these days can't seem to make it beyond a sales pitch. Sadly, the studios seem to think that a catchy plot point is more important than an interesting plot. Is this what the dumbing down of America has come to? I sure as hell hope not. Wake up, America! You deserve better than this.
** our of 5 -- Christopher Null -<EMAIL_ADDRESS>- http://www.filmcritic.com Author - Network Administrator's Reference, 1999 - ISBN 0-07-882588-1 http://www.amazon.com/exec/obidos/ASIN/0078825881/filmcriticcom
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


zcash-android-wallet-sdk / cash.z.wallet.sdk / Synchronizer / AddressType / Invalid / <init>
<init>
Invalid(reason: String = "Invalid")
An instance of AddressType corresponding to an invalid address.
Parameters
reason
- a descrption of why the address was invalid.


|
mbed TLS v2.16.11
|
Camellia block cipher. More...
Go to the source code of this file.
Data Structures | |
| struct | mbedtls_camellia_context |
| CAMELLIA context structure. More... | |
Macros | |
| #define | MBEDTLS_CAMELLIA_ENCRYPT 1 |
| #define | MBEDTLS_CAMELLIA_DECRYPT 0 |
| #define | MBEDTLS_ERR_CAMELLIA_INVALID_KEY_LENGTH MBEDTLS_DEPRECATED_NUMERIC_CONSTANT( -0x0024 ) |
| #define | MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA -0x0024 |
| #define | MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH -0x0026 |
| #define | MBEDTLS_ERR_CAMELLIA_HW_ACCEL_FAILED -0x0027 |
Typedefs | |
| typedef struct mbedtls_camellia_context | mbedtls_camellia_context |
| CAMELLIA context structure. More... | |
Functions | |
| void | mbedtls_camellia_init (mbedtls_camellia_context *ctx) |
| Initialize a CAMELLIA context. More... | |
| void | mbedtls_camellia_free (mbedtls_camellia_context *ctx) |
| Clear a CAMELLIA context. More... | |
| int | mbedtls_camellia_setkey_enc (mbedtls_camellia_context *ctx, const unsigned char *key, unsigned int keybits) |
| Perform a CAMELLIA key schedule operation for encryption. More... | |
| int | mbedtls_camellia_setkey_dec (mbedtls_camellia_context *ctx, const unsigned char *key, unsigned int keybits) |
| Perform a CAMELLIA key schedule operation for decryption. More... | |
| int | mbedtls_camellia_crypt_ecb (mbedtls_camellia_context *ctx, int mode, const unsigned char input[16], unsigned char output[16]) |
| Perform a CAMELLIA-ECB block encryption/decryption operation. More... | |
| int | mbedtls_camellia_crypt_cbc (mbedtls_camellia_context *ctx, int mode, size_t length, unsigned char iv[16], const unsigned char *input, unsigned char *output) |
| Perform a CAMELLIA-CBC buffer encryption/decryption operation. More... | |
| int | mbedtls_camellia_crypt_cfb128 (mbedtls_camellia_context *ctx, int mode, size_t length, size_t *iv_off, unsigned char iv[16], const unsigned char *input, unsigned char *output) |
| Perform a CAMELLIA-CFB128 buffer encryption/decryption operation. More... | |
| int | mbedtls_camellia_crypt_ctr (mbedtls_camellia_context *ctx, size_t length, size_t *nc_off, unsigned char nonce_counter[16], unsigned char stream_block[16], const unsigned char *input, unsigned char *output) |
| Perform a CAMELLIA-CTR buffer encryption/decryption operation. More... | |
| int | mbedtls_camellia_self_test (int verbose) |
| Checkup routine. More... | |
Camellia block cipher.
Definition in file camellia.h.
| #define MBEDTLS_CAMELLIA_DECRYPT 0 |
Definition at line 64 of file camellia.h.
| #define MBEDTLS_CAMELLIA_ENCRYPT 1 |
Definition at line 63 of file camellia.h.
| #define MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA -0x0024 |
Bad input data.
Definition at line 69 of file camellia.h.
| #define MBEDTLS_ERR_CAMELLIA_HW_ACCEL_FAILED -0x0027 |
Camellia hardware accelerator failed.
Definition at line 75 of file camellia.h.
| #define MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH -0x0026 |
Invalid data input length.
Definition at line 71 of file camellia.h.
| #define MBEDTLS_ERR_CAMELLIA_INVALID_KEY_LENGTH MBEDTLS_DEPRECATED_NUMERIC_CONSTANT( -0x0024 ) |
Definition at line 67 of file camellia.h.
| typedef struct mbedtls_camellia_context mbedtls_camellia_context |
CAMELLIA context structure.
| int mbedtls_camellia_crypt_cbc | ( | mbedtls_camellia_context * | ctx, |
| int | mode, | ||
| size_t | length, | ||
| unsigned char | iv[16], | ||
| const unsigned char * | input, | ||
| unsigned char * | output | ||
| ) |
Perform a CAMELLIA-CBC buffer encryption/decryption operation.
| ctx | The CAMELLIA context to use. This must be initialized and bound to a key. |
| mode | The mode of operation. This must be either MBEDTLS_CAMELLIA_ENCRYPT or MBEDTLS_CAMELLIA_DECRYPT. |
| length | The length in Bytes of the input data input . This must be a multiple of 16 Bytes. |
| iv | The initialization vector. This must be a read/write buffer of length 16 Bytes. It is updated to allow streaming use as explained above. |
| input | The buffer holding the input data. This must point to a readable buffer of length length Bytes. |
| output | The buffer holding the output data. This must point to a writable buffer of length length Bytes. |
0
if successful. | int mbedtls_camellia_crypt_cfb128 | ( | mbedtls_camellia_context * | ctx, |
| int | mode, | ||
| size_t | length, | ||
| size_t * | iv_off, | ||
| unsigned char | iv[16], | ||
| const unsigned char * | input, | ||
| unsigned char * | output | ||
| ) |
Perform a CAMELLIA-CFB128 buffer encryption/decryption operation.
mode
is MBEDTLS_CAMELLIA_ENCRYPT or MBEDTLS_CAMELLIA_DECRYPT.| ctx | The CAMELLIA context to use. This must be initialized and bound to a key. |
| mode | The mode of operation. This must be either MBEDTLS_CAMELLIA_ENCRYPT or MBEDTLS_CAMELLIA_DECRYPT. |
| length | The length of the input data input . Any value is allowed. |
| iv_off | The current offset in the IV. This must be smaller than 16 Bytes. It is updated after this call to allow the aforementioned streaming usage. |
| iv | The initialization vector. This must be a read/write buffer of length 16 Bytes. It is updated after this call to allow the aforementioned streaming usage. |
| input | The buffer holding the input data. This must be a readable buffer of size length Bytes. |
| output | The buffer to hold the output data. This must be a writable buffer of length length Bytes. |
0
if successful. | int mbedtls_camellia_crypt_ctr | ( | mbedtls_camellia_context * | ctx, |
| size_t | length, | ||
| size_t * | nc_off, | ||
| unsigned char | nonce_counter[16], | ||
| unsigned char | stream_block[16], | ||
| const unsigned char * | input, | ||
| unsigned char * | output | ||
| ) |
Perform a CAMELLIA-CTR buffer encryption/decryption operation.
*note Due to the nature of CTR mode, you should use the same key for both encryption and decryption. In particular, calls to this function should be preceded by a key-schedule via mbedtls_camellia_setkey_enc() regardless of whether mode
is MBEDTLS_CAMELLIA_ENCRYPT or MBEDTLS_CAMELLIA_DECRYPT.
There are two common strategies for managing nonces with CTR:
nonce_counter
and nc_off
to 0 for the first call, and then preserve the values of nonce_counter
, nc_off
and stream_block
across calls to this function as they will be updated by this function.With this strategy, you must not encrypt more than 2**128 blocks of data with the same key.
nonce_counter
buffer in two areas: the first one used for a per-message nonce, handled by yourself, and the second one updated by this function internally.For example, you might reserve the first 12
Bytes for the per-message nonce, and the last 4
Bytes for internal use. In that case, before calling this function on a new message you need to set the first 12
Bytes of nonce_counter
to your chosen nonce value, the last four to 0
, and nc_off
to 0
(which will cause stream_block
to be ignored). That way, you can encrypt at most 2**96
messages of up to 2**32
blocks each with the same key.
The per-message nonce (or information sufficient to reconstruct it) needs to be communicated with the ciphertext and must be unique. The recommended way to ensure uniqueness is to use a message counter. An alternative is to generate random nonces, but this limits the number of messages that can be securely encrypted: for example, with 96-bit random nonces, you should not encrypt more than 2**32 messages with the same key.
Note that for both stategies, sizes are measured in blocks and that a CAMELLIA block is 16
Bytes.
stream_block
contains sensitive data. Its content must not be written to insecure storage and should be securely discarded as soon as it's no longer needed.| ctx | The CAMELLIA context to use. This must be initialized and bound to a key. |
| length | The length of the input data input in Bytes. Any value is allowed. |
| nc_off | The offset in the current stream_block (for resuming within current cipher stream). The offset pointer to should be 0 at the start of a stream. It is updated at the end of this call. |
| nonce_counter | The 128-bit nonce and counter. This must be a read/write buffer of length 16 Bytes. |
| stream_block | The saved stream-block for resuming. This must be a read/write buffer of length 16 Bytes. |
| input | The input data stream. This must be a readable buffer of size length Bytes. |
| output | The output data stream. This must be a writable buffer of size length Bytes. |
0
if successful. | int mbedtls_camellia_crypt_ecb | ( | mbedtls_camellia_context * | ctx, |
| int | mode, | ||
| const unsigned char | input[16], | ||
| unsigned char | output[16] | ||
| ) |
Perform a CAMELLIA-ECB block encryption/decryption operation.
| ctx | The CAMELLIA context to use. This must be initialized and bound to a key. |
| mode | The mode of operation. This must be either MBEDTLS_CAMELLIA_ENCRYPT or MBEDTLS_CAMELLIA_DECRYPT. |
| input | The input block. This must be a readable buffer of size 16 Bytes. |
| output | The output block. This must be a writable buffer of size 16 Bytes. |
0
if successful. | void mbedtls_camellia_free | ( | mbedtls_camellia_context * | ctx | ) |
Clear a CAMELLIA context.
| ctx | The CAMELLIA context to be cleared. This may be NULL , in which case this function returns immediately. If it is not NULL , it must be initialized. |
| void mbedtls_camellia_init | ( | mbedtls_camellia_context * | ctx | ) |
Initialize a CAMELLIA context.
| ctx | The CAMELLIA context to be initialized. This must not be NULL . |
| int mbedtls_camellia_self_test | ( | int | verbose | ) |
Checkup routine.
| int mbedtls_camellia_setkey_dec | ( | mbedtls_camellia_context * | ctx, |
| const unsigned char * | key, | ||
| unsigned int | keybits | ||
| ) |
Perform a CAMELLIA key schedule operation for decryption.
| ctx | The CAMELLIA context to use. This must be initialized. |
| key | The decryption key. This must be a readable buffer of size keybits Bits. |
| keybits | The length of key in Bits. This must be either 128 , 192 or 256 . |
0
if successful. | int mbedtls_camellia_setkey_enc | ( | mbedtls_camellia_context * | ctx, |
| const unsigned char * | key, | ||
| unsigned int | keybits | ||
| ) |
Perform a CAMELLIA key schedule operation for encryption.
| ctx | The CAMELLIA context to use. This must be initialized. |
| key | The encryption key to use. This must be a readable buffer of size keybits Bits. |
| keybits | The length of key in Bits. This must be either 128 , 192 or 256 . |
0
if successful.


12+ Project Rock Logo Hd Pics. The official page of #projectrock by @therock and @underarmour. The official page of #projectrock by @therock x @underarmour.
Men's project rock knit track pants. Brandcrowd logo maker is easy to use and allows you full customization to get. 16:43 nuvaproductions recommended for you.
Discover a variety of amazing rock logos including huge rocks, small create a professional rock logo in minutes with our free rock logo maker.
Everyone has been doing their part in. Men's project rock knit track pants. There's a golden age of band logos, and—unless you're a big hardcore/metal fan—we're not living in it. Create free rock band logos now.


Version 5.0 marks a major release milestone for the Juno/JJSON library.
It is now available for download from iRAM under the name "Juno (previously JJSON)".
The Juno Starters Guide has been updated to reflect new functionality in this release.
-
New name.
Unfortunately, "JJSON" was already trademarked by another similar library.
Therefore, it's been renamed "Juno" (after the Roman goddess and wife of Jupiter) which does not appear to have any similar trademark issues (crosses fingers).
The name is also a play on the word "Uno", indicating that this is a single simple unifying interface of several kinds of technology.
-
Simplified APIs for working with beans.
Significant improvements have been made to the parsers to make it easier to convert serialized POJOs back into their original forms.
-
Serializer/Parser classes now directly subclass from {@link oaj.BeanContext}.
In previous releases, if you wanted to change the way beans were handled by the serializers and parsers, you had to construct a separate bean map factory and pass it to the serializer or parser.
Now, you can call the bean map factory methods directly on the serializer or parser class.
-
Simplified Filter API for handling non-standard POJOs.
The API for handling non-standard POJOs has been simplified by introducing the concept of a Transform class, which is associated with the BeanContext class (and thus the Serializer and Parser classes too) through the BeanContext.addTransforms(Class[]) method.
Two new subclasses of Transform:
BeanFilter - Filter POJO beans.
PojoSwap - Filter POJOs that aren't beans.
This new API replaces the previous separate Cast and BeanFilter APIs which were considerably more complicated and puts them under a common API.
-
Elimination of _class attributes in parsable output.
One of the complaints about the previous version of JJSON was that if you wanted to have the resulting JSON or XML be parsable back into beans, you had to enable the "addClassAttrs" property on the bean map factory class so that "_class" attributes could be added to the output.
This requirement is virtually eliminated in v5. In many cases, the parsers are able to determine through reflection what the correct target type is based on the top-level class passed in on the parse method.
-
Performance improvements.
Several significant performance improvements have been made in this release.
-
New Reader-based JSON parser.
Previously, the JSON parser required that the entire JSON text be loaded into memory as a String before being parsed.
The new JSON parser is Reader-based which significantly reduces memory consumption.
-
New StAX-based XML parser.
The old XML parser was based on DOM. The new XML parser uses a StAX parser which significantly reduces memory consumption.
-
Caching of reflection data in the BeanMap API.
The number of reflection calls have been significantly reduced in the BeanMap API code.
Reflection is used to determine the class types of property values on beans.
This information is now cached and persisted so that the reflection API calls to determine class types are only performed the first time a bean type is encountered.
-
Automatic support for GZIP compression/decompression in RestServlets.
This is completely transparent to the developer.
The output writer is negotiated by the framework to automatically handle compression and charset requests without the developer needing to know anything about it.
-
Cognos/XML support.
-
JSON-schema support.
-
New
PojoIntrospector class.
-
Significant REST servlet API improvements.
-
Defining child resources is considerably simpler now.
In addition to the standard doX() methods for handling the requests for the current resource, you can also define getX() methods for returning child resources which automatically become available under the child URL specified by the getter name.
-
Initialization of the child resources occurs automatically when the parent resource initialization occurs.
-
Other improvments have been made in the area of automatic negotiation of input and output type streams.
For example, automatic support is provided for GZIP (Accept-Encoding: gzip) and charsets (e.g Accept-Charset: SJIS) on both incoming and outgoing data.
It's all transparent from a developers perspective.
The developer simply working with POJOs, and all details about content types, encoding, charsets, and so forth are handled by the framework.
-
Support for generating complex OPTIONS pages for resources.
-
Automatic support for SOAP XML output on "text/soap+xml" requests against RestServlet.
-
Support for XML namespaces.
-
Support for setting the XML root element name by either passing in a parameter on the serializer, or by specifying it via a @Bean annotation.
-
Support for loading beans directly from Readers and Strings.
-
Parsing support for POJOs of type Enum.
-
Significant improved support for various flavors of parameterized types, such as subclasses of parameterized types (e.g. MyBeanList extends LinkedList<MyBean>).
-
Improved ordering of bean properties (should now be ordered as they are defined in the class).
-
Various default filters provided:
- byte[]<-->Base64 encoded strings
- Date/Calendar<-->ISO8601/RFC822/Long
-
New {@link oaj.html.HtmlParser} and {@link oaj.urlencoding.UrlEncodingParser} classes.
-
HtmlSerializer now produces XHTML.


[…]
Queen of this Universe! do not believe
Those rigid threats of death. Ye shall not die.
How should ye? By the Fruit? it gives you life
To knowledge. By the Threatener? look on me,
Me who have touched and tasted, yet both live,
And life more perfect have attained than Fate
Meant me, by venturing higher than my lot.
Shall that be shut to Man which to the Beast
Is open? or will God incense his ire
For such a petty trespass, and not praise
Rather your dauntless virtue, whom the pain
Of death denounced, whatever thing Death be,
Deterred not from achieving what might lead
To happier life, knowledge of Good and Evil?
Of good, how just! of evil—if what is evil
Be real, why not known, since easier shunned?
God, therefore, cannot hurt ye and be just;
Not just, not God; not feared then, nor obeyed:
Your fear itself of death removes the fear.
Why, then, was this forbid? Why but to awe,
Why but to keep ye low and ignorant,
His worshipers? He knows that in the day
Ye eat thereof your eyes, that seem so clear,
Yet are but dim, shall perfectly be then
Opened and cleared, and ye shall be as Gods,
Knowing both good and evil, as they know.
That ye should be as Gods, since I as Man,
Internal Man, is but proportion meet—
I, of brute, human; ye, of human, Gods.
So ye shall die perhaps, by putting off
Human, to put on Gods—death to be wished,
Though threatened, which no worse than this can bring!
And what are Gods, that Man may not become
As they, participating godlike food?
The Gods are first, and that advantage use
On our belief, that all from them proceeds.
I question it; for this fair Earth I see,
Warmed by the Sun, producing every kind;
Them nothing. If they all things, who enclosed
Knowledge of Good and Evil in this Tree,
That whoso eats thereof forthwith attains
Wisdom without their leave? and wherein lies
The offence, that Man should thus attain to know?
What can your knowledge hurt him, or this Tree
Impart against his will, if all be his?
Or is it envy? and can envy dwell
In Heavenly breasts? These, these and many more
Causes import your need of this fair Fruit.
Goddess humane, reach, then, and freely taste!”
He ended; and his words, replete with guile,
Into her heart too easy entrance won.
Fixed on the Fruit she gazed, which to behold
Might tempt alone; and in her ears the sound
Yet rung of his persuasive words, impregned
With reason, to her seeming, and with truth.
Meanwhile the hour of noon drew on, and waked
An eager appetite, raised by the smell
So savoury of that Fruit, which with desire,
Inclinable now grown to touch or taste,
Solicited her longing eye; yet first,
Pausing a while, thus to herself she mused:—
“Great are thy virtues, doubtless, best of Fruits,
Though kept from Man, and worthy to be admired,
Whose taste, too long forborne, at first assay
Gave elocution to the mute, and taught
The tongue not made for speech to speak thy praise.
Thy praise he also who forbids thy use
Conceals not from us, naming thee the Tree
Of Knowledge, knowledge both of Good and Evil;
Forbids us then to taste. But his forbidding
Commends thee more, while it infers the good
By thee communicated, and our want;
For good unknown sure is not bad, or, had
And yet unknown, is as not had at all.
In plain, then, what forbids he but to know?
Forbids us good, forbids us to be wise!
Such prohibitions bind not. But, if Death
Bind us with after-bands, what profits then
Our inward freedom? In the day we eat
Of this fair Fruit, our doom is we shall die!
How dies the Serpent? He hath eaten, and lives,
And knows, and speaks, and reasons, and discerns,
Irrational till then. For us alone
Was death invented? or to us denied
This intellectual food, for beasts reserved?
For beasts it seems; yet that one beast which first
Hath tasted envies not, but brings with joy
The good befallen him, author unsuspect,
Friendly to Man, far from deceit or guile.
What fear I, then? rather, what know to fear
Under this ignorance of Good and Evil,
Of God or Death, of law or penalty?
Here grows the cure of all, this fruit divine,
Fair to the eye, inviting to the taste,
Of virtue to make wise. What hinders, then,
To reach, and feed at once both body and mind?”
So saying, her rash hand in evil hour
Forth-reaching to the Fruit, she plucked, she eat.
Earth felt the wound, and Nature from her seat,
Sighing through all her works, gave signs of woe
That all was lost. Back to the thicket slunk
The guilty Serpent, and well might, for Eve,
Intent now only her taste, naught else
Regarded; such delight till then, as seemed,
In fruit she never tasted, whether true,
Or fancied so through expectation high
Of knowledge; nor was Godhead from her thought.
Greedily she ingorged without restraint,
And knew not eating death. Satiate at length,
And hightened as with wine, jocond and boon,
Thus to herself she pleasingly began:—
“O sovran, virtuous, precious of all trees
In Paradise! of operation blest
To sapience, hitherto obscured, infamed,
And thy fair Fruit let hang, as to no end
Created! but henceforth my early care,
Not without song, each morning, and due praise,
Shall tend thee, and the fertil burden ease
Of thy full branches, offered free to all;
Till, dieted by thee, I grow mature
In knowledge, as the Gods who all things know,
Though others envy what they cannot give—
For, had the gift been theirs, it had not here
Thus grown! Experience, next to thee I owe,
Best guide: not following thee, I had remained
In ignorance; thou open’st Wisdom’s way,
And giv’st access, though secret she retire.
And I perhaps am secret: Heaven is high—
High, and remote to see from thence distinct
Each thing on Earth; and other care perhaps
May have diverted from continual watch
Our great Forbidder, safe with all his Spies
About him. But to Adam in what sort
Shall I appear? Shall I to him make known
As yet my change, and give him to partake
Full happiness with me, or rather not,
But keep the odds of knowledge in my power
Without copartner? so to add what wants
In female sex, the more to draw his love,
And render me more equal, and perhaps—
A thing not undesirable—sometime
Superior; for, inferior, who is free?
This may be well; but what if God have seen,
And death ensue? Then I shall be no more;
And Adam, wedded to another Eve,
Shall live with her enjoying, I extinct!
 Confirmed, then, I resolve
Adam shall share with me in bliss or woe.
So dear I love him that with him all deaths
I could endure, without him live no life.”
So saying, from the Tree her step she turned,
But first low reverence done, as to the Power
That dwelt within, whose presence had infused
Into the plant sciential sap, derived
From nectar, drink of Gods. Adam the while,
Waiting desirous her return, had wove
Of choicest flowers a garland, to adorn
Her tresses, and her rural labours crown,
As reapers oft are wont their harvest-queen.
Great joy he promised to his thoughts, and new
Solace in her return, so long delayed;
Yet oft his heart, divine of something ill,
Misgave him. He the faltering measure felt,
And forth to meet her went, the way she took
That morn when first they parted. By the Tree
Of Knowledge he must pass; there he her met,
Scarce from the Tree returning; in her hand
A bough of fairest fruit, that downy smiled,
New gathered, and ambrosial smell diffused.
To him she hasted; in her face excuse
Came prologue, and apology to prompt,
Which, with bland words at will, she thus addressed:—
“Hast thou not wondered, Adam, at my stay?
Thee I have missed, and thought it long, deprived
Thy presence—agony of love till now
Not felt, nor shall be twice; for never more
Mean I to try, what rash untried I sought,
The pain of absence from thy sight. But strange
Hath been the cause, and wonderful to hear.
This Tree is not, as we are told, a Tree
Of danger tasted, nor to evil unknown
Opening the way, but of divine effect
To open eyes, and make them Gods who taste;
And hath been tasted such. The Serpent wise,
Or not restrained as we, or not obeying,
Hath eaten of the Fruit, and is become
Not dead, as we are threatened, but thenceforth
Endued with human voice and human sense,
Reasoning to admiration, and with me
Persuasively hath so prevailed that I
Have also tasted, and have also found
The effects to correspond—opener mine eyes,
Dim erst, dilated spirits, ampler heart,
And growing up to Godhead; which for thee
Chiefly I sought, without thee can despise.
For bliss, as thou hast part, to me is bliss;
Tedious, unshared with thee, and odious soon.
Thou, therefore, also taste, that equal lot
May join us, equal joy, as equal love;
Lest, thou not tasting, different degree
Disjoin us, and I then too late renounce
Deity for thee, when fate will not permit.”
Thus Eve with countenance blithe her story told;
But in her cheek distemper flushing glowed.
On the other side, Adam, soon as he heard
The fatal trespass done by Eve, amazed,
Astonied stood and blank, while horror chill
Ran through his veins, and all his joints relaxed.
From his slack hand the garland wreathed for Eve
Down dropt, and all the faded roses shed.
Speechless he stood and pale, till thus at length
First to himself he inward silence broke:—
“O fairest of Creation, last and best
Of all God’s works, creature in whom excelled
Whatever can to sight or thought be formed,
Holy, divine, good, amiable, or sweet!
How art thou lost! how on a sudden lost,
Defaced, deflowered, and now to death devote!
Rather, how hast thou yielded to transgress
The strict forbiddance, how to violate
The sacred Fruit forbidden?
How can I live without thee? how forgo
Thy sweet converse, and love so dearly joined,
To live again in these wild woods forlorn?
Should God create another Eve, and I
Another rib afford, yet loss of thee
Would never from my heart. No, no! I feel
The link of nature draw me: flesh of flesh,
Bone of my bone thou art, and from thy state
Mine never shall be parted, bliss or woe.”
So having said, as one from sad dismay
Recomforted, and, after thoughts disturbed,
Submitting to what seemed remediless,
Thus in calm mood his words to Eve he turned:—
“Bold deed thou hast presumed, adventrous Eve,
And peril great provoked, who thus hast dared
Had it been only coveting to eye
That sacred Food, sacred to abstinence;
Much more to taste it, under ban to touch.
But past who can recall, or done undo?
Not God Omnipotent, nor Fate! Yet so
Perhaps thou shalt not die; perhaps the fact
Is not so hainous now-foretasted Fruit,
Profaned first by the Serpent, by him first
Made common and unhallowed ere our taste,
Nor yet on him found deadly. He yet lives—
Lives, as thou saidst, and gains to live, as Man,
Higher degree of life: inducement strong
To us, as likely, tasting, to attain
Proportional ascent; which cannot be
But to be Gods, or Angels, Demi-gods.
Nor can I think that God, Creator wise,
Though threatening, will in earnest so destroy
Us, his prime creatures, dignified so high,
Set over all his works; which, in our fall,
For us created, needs with us must fail,
Dependent made. So God shall uncreate,
Be frustrate, do, undo, and labour lose—
Not well conceived of God; who, though his power
Creation could repeat, yet would be loth
Us to abolish, lest the Adversary
Triumph and say: ‘Fickle their state whom God
Most favours; who can please him long? Me first
He ruined, now Mankind; whom will he next?’—
Matter of scorn not to be given the Foe.
However, I with thee have fixed my lot,
Certain to undergo like doom. If death
Consort with thee, death is to me as life;
So forcible within my heart I feel
The bond of Nature draw me to my own—
My own is thee; for what thou art is mine.
Our state cannot be severed; we are one,
One flesh; to lose thee were to lose myself.”
So Adam; and thus Eve to him replied:—
“O glorious trial of exceeding love,
Illustrious evidence, example high!
Ingaging me to emulate; but, short
Of thy perfection, how shall I attain,
Adam? from whose dear side I boast me sprung,
And gladly of our union hear thee speak,
One heart, one soul in both; whereof good proof
This day affords, declaring thee resolved,
Rather than death, or aught than death more dread,
Shall separate us, linked in love so dear,
To undergo with me one guilt, one crime,
If any be, of tasting this fair Fruit;
Whose virtue (for of good still good proceeds,
Direct, or by occasion) hath presented
This happy trial of thy love, which else
So eminently never had been known.
Were it I thought death menaced would ensue
This my attempt, I would sustain alone
The worst, and not persuade thee—rather die
Deserted than oblige thee with a fact
Pernicious to thy peace, chiefly assured
Remarkably so late of thy so true,
So faithful love unequalled. But I feel
Far otherwise the event—not death, but life
Augmented, opened eyes, new hopes, new joys,
Taste so divine that what of sweet before
Hath touched my sense flat seems to this and harsh.
On my experience, Adam, freely taste,
And fear of death deliver to the winds.”
So saying, she embraced him, and for joy
Tenderly wept, much won that he his love
Had so ennobled as of choice to incur
Divine displeasure for her sake, or death.
In recompense (for such compliance bad
Such recompense best merits), from the bough
She gave him of that fair enticing Fruit
With liberal hand. He scrupled not to eat,
Against his better knowledge, not deceived,
But fondly overcome with female charm.
Earth trembled from her entrails, as again
In pangs, and Nature gave a second groan;
Sky loured, and, muttering thunder, some sad drops
Wept at completing of the mortal Sin
Original; while Adam took no thought,
Eating his fill, nor Eve to iterate
Her former trespass feared, the more to soothe
Him with her loved society; that now,
As with new wine intoxicated both,
They swim in mirth, and fancy that they feel
Divinity within them breeding wings
Wherewith to scorn the Earth. But that false Fruit
Far other operation first displayed,
Carnal desire inflaming. He on Eve
Began to cast lascivious eyes; she him
As wantonly repaid; in lust they burn,
Till Adam thus ’gan Eve to dalliance move:—
“Eve, now I see thou art exact of taste
And elegant—of sapience no small part;
Since to each meaning savour we apply,
And palate call judicious. I the praise
Yield thee; so well this day thou hast purveyed.
Much pleasure we have lost, while we abstained
From this delightful Fruit, nor known till now
True relish, tasting. If such pleasure be
In things to us forbidden, it might be wished
For this one Tree had been forbidden ten.
But come; so well refreshed, now let us play,
As meet is, after such delicious fare;
For never did thy beauty, since the day
I saw thee first and wedded thee, adorned
With all perfections, so enflame my sense
With ardour to enjoy thee, fairer now
Than ever-bounty of this virtuous Tree!”
So said he, and forbore not glance or toy
Of amorous intent, well understood
Of Eve, whose eye darted contagious fire.
Her hand he seized, and to a shady bank,
Thick overhead with verdant roof imbowered,
He led her, nothing loth; flowers were the couch,
Pansies, and violets, and asphodel,
And hyacinth—Earth’s freshest, softest lap.
There they their fill of love and love’s disport
Took largely, of their mutual gilt the seal,
The solace of their sin, till dewy sleep
Oppressed them, wearied with their amorous play.
Soon as the force of that fallacious Fruit,
That with exhilarating vapour bland
About their spirits had played, and inmost powers
Made err, was now exhaled, and grosser sleep,
Bred of unkindly fumes, with conscious dreams
Incumbered, now had left them, up they rose
As from unrest, and, each the other viewing,
Soon found their eyes how opened, and their minds
How darkened. Innocence, that as a veil
Had shadowed them from knowing ill, was gone;
Just confidence, and native righteousness,
And honour, from about them, naked left
To guilty Shame: he covered, but his robe
Uncovered more. So rose the Danite strong,
Herculean Samson, from the harlot-lap
Of Philistean Dalilah, and waked
Shorn of his strength; they destitute and bare
Of all their virtue. Silent, and in face
Confounded, long they sat, as strucken mute;
Till Adam, though not less than Eve abashed,
At length gave utterance to these words constrained:—
“O Eve, in evil hour thou didst give ear
To that false Worm, of whomsoever taught
To counterfeit Man’s voice—true in our fall,
False in our promised rising; since our eyes
Opened we find indeed, and find we know
Both good and evil, good lost and evil got:
Bad Fruit of Knowledge, if this be to know,
Which leaves us naked thus, of honour void,
Of innocence, of faith, of purity,
Our wonted ornaments now soiled and stained,
And in our faces evident the signs
Of foul concupiscence; whence evil store,
Even shame, the last of evils; of the first
Be sure then. How shall I behold the face
Henceforth of God or Angel, erst with joy
And rapture so oft beheld? Those Heavenly Shapes
Will dazzle now this earthly with their blaze
Insufferably bright. Oh, might I here
In solitude live savage, in some glade
Obscured, where highest woods, impenetrable
To star or sunlight, spread their umbrage broad,
And brown as evening. Cover me, ye pines!
Ye cedars, with innumerable boughs
Hide me, where I may never see them more!
But let us now, as in bad plight, devise
What best may, for the present, serve to hide
The parts of each other that seem most
To shame obnoxious, and unseemliest seen—
Some tree, whose broad smooth leaves, together sewed,
And girded on our loins, may cover round
Those middle parts, that this new comer, Shame,
There sit not, and reproach us as unclean.”
So counselled he, and both together went
Into the thickest wood. There soon they choose
The fig tree—not that kind for fruit renowned,
But such, as at this day, to Indians known,
In Malabar or Decan spreads her arms
Braunching so broad and long that in the ground
The bended twigs take root, and daughters grow
About the mother tree, a pillared shade
High overarched, and echoing walks between:
There oft the Indian herdsman, shunning heat,
Shelters in cool, and tends his pasturing herds
At loop-holes cut through thickest shade. Those leaves
They gathered, broad as Amazonian targe,
And with what skill they had together sewed,
To gird their waist—vain covering, if to hide
Their guilt and dreaded shame! O how unlike
To that first naked glory! Such of late
Columbus found the American, so girt
With feathered cincture, naked else and wild,
Among the trees on isles and woody shores.
Thus fenced, and, as they thought, their shame in part
Covered, but not at rest or ease of mind,
They sat them down to weep. Nor only tears
Rained at their eyes, but high winds worse within
Began to rise, high passions—anger, hate,
Mistrust, suspicion, discord—and shook sore
Their inward state of mind, calm region once
And full of peace, now tost and turbulent:
For Understanding ruled not, and the Will
Heard not her lore, both in subjection now
To sensual Appetite, who, from beneath
Usurping over sovran Reason, claimed
Superior sway. From thus distempered breast
Adam, estranged in look and altered style,
Speech intermitted thus to Eve renewed:—
“Would thou hadst hearkened to my words, and stayed
With me, as I besought thee, when that strange
Desire of wandering, this unhappy morn,
I know not whence possessed thee! We had then
Remained still happy—not, as now, despoiled
Of all our good, shamed, naked, miserable!
Let none henceforth seek needless cause to approve
The faith they owe; when earnestly they seek
Such proof, conclude they then begin to fail.”
To whom, soon moved with touch of blame, thus Eve:—
“What words have passed thy lips, Adam severe?
Imput’st thou that to my default, or will
Of wandering, as thou call’st it, which who knows
But might as ill have happened thou being by,
Or to thyself perhaps? Hadst thou been there,
Or here the attempt, thou couldst not have discerned
Fraud in the Serpent, speaking as he spake;
No ground of enmity between us known
Why he should mean me ill or seek to harm;
Was I to have never parted from thy side?
As good have grown there still, a lifeless rib.
Being as I am, why didst not thou, the Head,
Command me absolutely not to go,
Going into such danger, as thou saidst?
Too facile then, thou didst not much gainsay,
Nay, didst permit, approve, and fair dismiss.
Hadst thou been firm and fixed in thy dissent,
Neither had I transgressed, nor thou with me.”
To whom, then first incensed, Adam replied:—
“Is this the love, is this the recompense
Of mine to thee, ingrateful Eve, expressed
Immutable when thou wert lost, not I—
Who might have lived, and joyed immortal bliss,
Yet willingly chose rather death with thee?
And am I now upbraided as the cause
Of thy transgressing? not enough severe,
It seems, in thy restraint! What could I more?
I warned thee, I admonished thee, foretold
The danger, and the lurking Enemy
That lay in wait; beyond this had been force,
And force upon free will hath here no place.
But confidence then bore thee on, secure
Either to meet no danger, or to find
Matter of glorious trial; and perhaps
I also erred in overmuch admiring
What seemed in thee so perfet that I thought
No evil durst attempt thee, But I rue
That error now, which is become my crime,
And thou the accuser. Thus it shall befall
Him who, to worth in women overtrusting,
Lets her will rule: restraint she will not brook;
And, left to herself, if evil thence ensue,
She first his weak indulgence will accuse.”
Thus they in mutual accusation spent
The fruitless hours, but neither self—condemning;
And of their vain contest’ appeared no end.