# Class: com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes

Standard implementation for the sizes of C primitives.

## Constructor: PrimitiveSizes
- parameter: `charSize`, type: `int`
- parameter: `shortSize`, type: `int`
- parameter: `intSize`, type: `int`
- parameter: `longSize`, type: `int`
- parameter: `longLongSize`, type: `int`
- parameter: `floatSize`, type: `int`
- parameter: `doubleSize`, type: `int`
- parameter: `longDoubleSize`, type: `int`

Description: Create primitive sizes.
parameter: charSize: `char` size in bytes
parameter: shortSize: `short` size in bytes
parameter: intSize: `int` size in bytes
parameter: longSize: `long` size in bytes
parameter: longLongSize: `long long` size in bytes
parameter: floatSize: `float` size in bytes
parameter: doubleSize: `double` size in bytes
parameter: longDoubleSize: `long double` size in bytes

## Constructor: PrimitiveSizes
- parameter: `psizes`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrimitiveSizes`

Description: Copy primitive sizes.
parameter: psizes: source primitive sizes

## Static Field: COMMON_PRIMITIVE_SIZES
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: Typical primitives sizes on 32\-bit arch.: char=1, short=2, int=4, long=4 \(\!\), long\-long=8, float=4, double=8, long\-double=10. Better to use compiler\+processor\-specific statics.

## Static Field: COMMON_PRIMITIVE_SIZES64
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: Typical primitives sizes on 64\-bit arch.: char=1, short=2, int=4, long=8 \(\!\), long\-long=8, float=4, double=8, long\-double=10. Better to use compiler\+processor\-specific statics.

## Static Field: GCC_ARM
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: GCC primitive sizes for ARM targets.

## Static Field: GCC_ARM64
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: GCC primitive sizes for ARM64 targets.

## Static Field: GCC_MIPS
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: GCC primitive sizes for MIPS targets.

## Static Field: GCC_X86
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: GCC primitive sizes for x86 targets.

## Static Field: GCC_X86_64
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: GCC primitive sizes for x86\-64 targets.

## Static Field: MSVC_ARM
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: MSVC primitive sizes for ARM targets.

## Static Field: MSVC_ARM64
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: MSVC primitive sizes for ARM64 targets.

## Static Field: MSVC_GENERIC
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: Generic MSVC primitive sizes.

## Static Field: MSVC_X86
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: MSVC primitive sizes for x86 targets.

## Static Field: MSVC_X86_64
Type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`
Description: MSVC primitive sizes for x86\-64 targets.

## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: getCharSize
- return type: `int`


## Method: getDoubleSize
- return type: `int`


## Method: getFloatSize
- return type: `int`


## Method: getIntSize
- return type: `int`


## Method: getLongDoubleSize
- return type: `int`


## Method: getLongLongSize
- return type: `int`


## Method: getLongSize
- return type: `int`


## Method: getShortSize
- return type: `int`


## Method: hashCode
- return type: `int`


## Method: toString
- return type: `java.lang.String`


## Static Method: getCommon
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- parameter: `comptype`, type: `com.pnfsoftware.jeb.core.units.codeobject.CompilerType`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.PrimitiveSizes`

Description: Get common primitive sizes for a processor/compiler pair.
parameter: proctype: processor type, or null for unknown
parameter: comptype: compiler type, or null for unknown
return: matching primitive sizes

