# Enum Class VulkanLogicOp

java.lang.Object
java.lang.Enum<VulkanLogicOp>
com.io7m.jcoronado.api.VulkanLogicOp

All Implemented Interfaces:
  `VulkanEnumIntegerType`, `Serializable`, `Comparable<VulkanLogicOp>`, `Constable`

public enum VulkanLogicOp extends Enum<VulkanLogicOp> implements VulkanEnumIntegerType
The logical operations supported by Vulkan are summarized in the following table in which:

- ¬ is bitwise invert
- ∧ is bitwise and
- ∨ is bitwise or
- ⊕ is bitwise exclusive or
- s is the fragment’s Rs0, Gs0, Bs0 or As0 component value for the fragment output corresponding to the color attachment being updated
- d is the color attachment’s R, G, B or A component value

See Also:
  - "VkLogicOp"

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `VK_LOGIC_OP_AND`
  s ∧ d
  `VK_LOGIC_OP_AND_INVERTED`
  ¬ s ∧ d
  `VK_LOGIC_OP_AND_REVERSE`
  s ∧ ¬ d
  `VK_LOGIC_OP_CLEAR`
  0
  `VK_LOGIC_OP_COPY`
  s
  `VK_LOGIC_OP_COPY_INVERTED`
  ¬ s
  `VK_LOGIC_OP_EQUIVALENT`
  ¬ (s ⊕ d)
  `VK_LOGIC_OP_INVERT`
  ¬ d
  `VK_LOGIC_OP_NAND`
  ¬ (s ∧ d)
  `VK_LOGIC_OP_NO_OP`
  d
  `VK_LOGIC_OP_NOR`
  ¬ (s ∨ d)
  `VK_LOGIC_OP_OR`
  s ∨ d
  `VK_LOGIC_OP_OR_INVERTED`
  ¬ s ∨ d
  `VK_LOGIC_OP_OR_REVERSE`
  s ∨ ¬ d
  `VK_LOGIC_OP_SET`
  all 1s
  `VK_LOGIC_OP_XOR`
  s ⊕ d

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `value()`
  `static VulkanLogicOp`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static VulkanLogicOp[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### VK_LOGIC_OP_CLEAR

    public static final VulkanLogicOp VK_LOGIC_OP_CLEAR
    0

  - ### VK_LOGIC_OP_AND

    public static final VulkanLogicOp VK_LOGIC_OP_AND
    s ∧ d

  - ### VK_LOGIC_OP_AND_REVERSE

    public static final VulkanLogicOp VK_LOGIC_OP_AND_REVERSE
    s ∧ ¬ d

  - ### VK_LOGIC_OP_COPY

    public static final VulkanLogicOp VK_LOGIC_OP_COPY
    s

  - ### VK_LOGIC_OP_AND_INVERTED

    public static final VulkanLogicOp VK_LOGIC_OP_AND_INVERTED
    ¬ s ∧ d

  - ### VK_LOGIC_OP_NO_OP

    public static final VulkanLogicOp VK_LOGIC_OP_NO_OP
    d

  - ### VK_LOGIC_OP_XOR

    public static final VulkanLogicOp VK_LOGIC_OP_XOR
    s ⊕ d

  - ### VK_LOGIC_OP_OR

    public static final VulkanLogicOp VK_LOGIC_OP_OR
    s ∨ d

  - ### VK_LOGIC_OP_NOR

    public static final VulkanLogicOp VK_LOGIC_OP_NOR
    ¬ (s ∨ d)

  - ### VK_LOGIC_OP_EQUIVALENT

    public static final VulkanLogicOp VK_LOGIC_OP_EQUIVALENT
    ¬ (s ⊕ d)

  - ### VK_LOGIC_OP_INVERT

    public static final VulkanLogicOp VK_LOGIC_OP_INVERT
    ¬ d

  - ### VK_LOGIC_OP_OR_REVERSE

    public static final VulkanLogicOp VK_LOGIC_OP_OR_REVERSE
    s ∨ ¬ d

  - ### VK_LOGIC_OP_COPY_INVERTED

    public static final VulkanLogicOp VK_LOGIC_OP_COPY_INVERTED
    ¬ s

  - ### VK_LOGIC_OP_OR_INVERTED

    public static final VulkanLogicOp VK_LOGIC_OP_OR_INVERTED
    ¬ s ∨ d

  - ### VK_LOGIC_OP_NAND

    public static final VulkanLogicOp VK_LOGIC_OP_NAND
    ¬ (s ∧ d)

  - ### VK_LOGIC_OP_SET

    public static final VulkanLogicOp VK_LOGIC_OP_SET
    all 1s

- ## Method Details

  - ### values

    public static VulkanLogicOp[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static VulkanLogicOp valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### value

    public int value()
    Specified by:
      `value` in interface `VulkanEnumIntegerType`
    Returns:
      The integer value of the constant