freenet.support.CPUInformation

## Class AMDInfoImpl

- java.lang.Object
- - freenet.support.CPUInformation.CPUIDCPUInfo
  - - freenet.support.CPUInformation.AMDInfoImpl

- All Implemented Interfaces:
    AMDCPUInfo, CPUInfo

      class AMDInfoImpl
      extends CPUIDCPUInfo
      implements AMDCPUInfo

  Moved out of CPUID.java Ref: https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures Ref: https://gmplib.org/repo/gmp/file/tip/config.guess

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AMDInfoImpl()` Default constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCPUModelString()` Gets the CPU model description.
    `boolean` | `IsAthlon64Compatible()` Checks if the CPU is at least a 'k8' CPU (Athlon 64, Opteron etc.
    `boolean` | `IsAthlonCompatible()` Checks if the CPU is at least a 'k7' CPU (Athlon, Duron etc.
    `boolean` | `IsBobcatCompatible()` Checks if the CPU is at least a 'bobcat' CPU.
    `boolean` | `IsBulldozerCompatible()` Checks if the CPU is at least a 'bulldozer' CPU.
    `boolean` | `IsExcavatorCompatible()` Checks if the CPU is at least an 'excavator' CPU.
    `boolean` | `IsGeodeCompatible()` Checks if the CPU is at least a 'geode' CPU.
    `boolean` | `IsJaguarCompatible()` Checks if the CPU is at least a 'jaguar' CPU.
    `boolean` | `IsK10Compatible()` Checks if the CPU is at least a 'k10' CPU.
    `boolean` | `IsK6_2_Compatible()` Checks if the CPU is at least a 'k6-2' CPU.
    `boolean` | `IsK6_3_Compatible()` Checks if the CPU is at least a 'k6-3' CPU.
    `boolean` | `IsK6Compatible()` Checks if the CPU is at least a 'k6' CPU.
    `boolean` | `IsPiledriverCompatible()` Checks if the CPU is at least a 'piledriver' CPU.
    `boolean` | `IsSteamrollerCompatible()` Checks if the CPU is at least a 'steamroller' CPU.
    `boolean` | `IsZen2Compatible()` Checks if the CPU is at least a Zen2 family CPU.
    `boolean` | `IsZenCompatible()` Checks if the CPU is at least a Zen family CPU.

    - ### Methods inherited from class freenet.support.CPUInformation.CPUIDCPUInfo

      `getVendor, hasABM, hasADX, hasAES, hasAVX, hasAVX2, hasAVX512, hasBMI1, hasBMI2, hasFMA3, hasMMX, hasMOVBE, hasSSE, hasSSE2, hasSSE3, hasSSE41, hasSSE42, hasSSE4A, hasTBM, hasX64`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface freenet.support.CPUInformation.CPUInfo

      `getVendor, hasABM, hasADX, hasAES, hasAVX, hasAVX2, hasAVX512, hasBMI1, hasBMI2, hasFMA3, hasMMX, hasMOVBE, hasSSE, hasSSE2, hasSSE3, hasSSE41, hasSSE42, hasSSE4A, hasTBM, hasX64`

- - ### Constructor Detail

    - #### AMDInfoImpl

          public AMDInfoImpl()

      Default constructor.

  - ### Method Detail

    - #### getCPUModelString

          public String getCPUModelString()
                                   throws UnknownCPUException

      Description copied from interface: `CPUInfo`
      Gets the CPU model description.
      Specified by:
        `getCPUModelString` in interface `CPUInfo`
      Overrides:
        `getCPUModelString` in class `CPUIDCPUInfo`
      Returns:
        A string detailing what type of CPU that is present in the machine. I.e. 'Pentium IV' etc.
      Throws:
        `UnknownCPUException` - If for any reason the retrieval of the requested information failed. The message encapsulated in the execption indicates the cause of the failure.

    - #### IsAthlon64Compatible

          public boolean IsAthlon64Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k8' CPU (Athlon 64, Opteron etc. and better).
      Specified by:
        `IsAthlon64Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'k8' CPU (Atlhon 64, Opteron etc. and better)

    - #### IsAthlonCompatible

          public boolean IsAthlonCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k7' CPU (Athlon, Duron etc. and better).
      Specified by:
        `IsAthlonCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'k7' CPU (Atlhon, Duron etc. and better)

    - #### IsBobcatCompatible

          public boolean IsBobcatCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'bobcat' CPU.
      Specified by:
        `IsBobcatCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'bobcat' CPU

    - #### IsBulldozerCompatible

          public boolean IsBulldozerCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'bulldozer' CPU.
      Specified by:
        `IsBulldozerCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a 'bulldozer' CPU

    - #### IsExcavatorCompatible

          public boolean IsExcavatorCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least an 'excavator' CPU.
      Specified by:
        `IsExcavatorCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a 'excavator' CPU

    - #### IsGeodeCompatible

          public boolean IsGeodeCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'geode' CPU.
      Specified by:
        `IsGeodeCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'geode' CPU

    - #### IsJaguarCompatible

          public boolean IsJaguarCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'jaguar' CPU.
      Specified by:
        `IsJaguarCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'jaguar' CPU

    - #### IsK10Compatible

          public boolean IsK10Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k10' CPU.
      Specified by:
        `IsK10Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'k10' CPU

    - #### IsK6_2_Compatible

          public boolean IsK6_2_Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k6-2' CPU.
      Specified by:
        `IsK6_2_Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'k6-2' CPU

    - #### IsK6_3_Compatible

          public boolean IsK6_3_Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k6-3' CPU.
      Specified by:
        `IsK6_3_Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least an 'k6-3' CPU

    - #### IsK6Compatible

          public boolean IsK6Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'k6' CPU.
      Specified by:
        `IsK6Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a 'k6' CPU

    - #### IsPiledriverCompatible

          public boolean IsPiledriverCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'piledriver' CPU.
      Specified by:
        `IsPiledriverCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a 'piledriver' CPU

    - #### IsSteamrollerCompatible

          public boolean IsSteamrollerCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a 'steamroller' CPU.
      Specified by:
        `IsSteamrollerCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a 'steamroller' CPU

    - #### IsZen2Compatible

          public boolean IsZen2Compatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a Zen2 family CPU.
      Specified by:
        `IsZen2Compatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a Zen2 family CPU

    - #### IsZenCompatible

          public boolean IsZenCompatible()

      Description copied from interface: `AMDCPUInfo`
      Checks if the CPU is at least a Zen family CPU.
      Specified by:
        `IsZenCompatible` in interface `AMDCPUInfo`
      Returns:
        true if the CPU present in the machine is at least a Zen family CPU