|author||John Mark Bell <email@example.com>||2008-11-23 09:58:48 +0000|
|committer||John Mark Bell <firstname.lastname@example.org>||2008-11-23 09:58:48 +0000|
All numerical values are represented in 22:10 fixed point.
svn path=/trunk/libcss/; revision=5762
Diffstat (limited to 'docs/Bytecode')
1 files changed, 4 insertions, 9 deletions
diff --git a/docs/Bytecode b/docs/Bytecode
index e7bb2fa..0b5ec74 100644
@@ -23,21 +23,16 @@ Parameters are opcode-specific. Each parameter must begin on a 4 byte boundary.
-8 and 16 bit integers are stored as 32bit values.
-32 bit integers are stored in their natural format.
-Floats are stored in their natural format.
-Integers wider than 32 bits are not supported.
-Doubles are not supported.
+All numeric values are stored in a 32bit wide field. This field contains
+a fixed point value with 22 bits assigned to the integer part and 10 bits
+assigned to the fractional part.
Strings are stored as <pointer,length> pairs, as per css_string.
Pointer's width is the native width of a pointer on the platform.
Length's width is the native width of a size_t on the platform.
CSS dimensions are stored as two 32bit values: <length, units>.
-Length is a 32bit integer and unit is as follows:
+Length is a 32bit numeric value (as described above) and unit is as follows:
bit 8 clear => length unit
bits 9-31: MBZ