DigitalData constructor
Class for digitalData conversions, e.g. if you want to convert 1 megabit in kilobyte:
var digitalData = DigitalData(removeTrailingZeros: false);
digitalData.convert(Unit(DIGITAL_DATA.megabit, value: 1));
print(DIGITAL_DATA.kilobyte);
Implementation
DigitalData(
{this.significantFigures = 10, this.removeTrailingZeros = true, name}) {
this.name = name ?? PROPERTY.digitalData;
size = DIGITAL_DATA.values.length;
Node conversionTree = Node(name: DIGITAL_DATA.bit, leafNodes: [
Node(
coefficientProduct: 4.0,
name: DIGITAL_DATA.nibble,
),
Node(
coefficientProduct: 1e3,
name: DIGITAL_DATA.kilobit,
),
Node(
coefficientProduct: 1e6,
name: DIGITAL_DATA.megabit,
),
Node(
coefficientProduct: 1e9,
name: DIGITAL_DATA.gigabit,
),
Node(
coefficientProduct: 1e12,
name: DIGITAL_DATA.terabit,
),
Node(
coefficientProduct: 1e15,
name: DIGITAL_DATA.petabit,
),
Node(
coefficientProduct: 1e18,
name: DIGITAL_DATA.exabit,
),
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.kibibit, leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.mebibit,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.gibibit,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.tebibit,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.pebibit,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.exbibit,
)
])
])
])
])
]),
Node(coefficientProduct: 8.0, name: DIGITAL_DATA.byte, leafNodes: [
Node(
coefficientProduct: 1e3,
name: DIGITAL_DATA.kilobyte,
),
Node(
coefficientProduct: 1e6,
name: DIGITAL_DATA.megabyte,
),
Node(
coefficientProduct: 1e9,
name: DIGITAL_DATA.gigabyte,
),
Node(
coefficientProduct: 1e12,
name: DIGITAL_DATA.terabyte,
),
Node(
coefficientProduct: 1e15,
name: DIGITAL_DATA.petabyte,
),
Node(
coefficientProduct: 1e18,
name: DIGITAL_DATA.exabyte,
),
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.kibibyte,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.mebibyte,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.gibibyte,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.tebibyte,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.pebibyte,
leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.exbibyte,
),
]),
]),
]),
]),
]),
]),
]);
_customConversion = CustomConversion(
conversionTree: conversionTree,
mapSymbols: mapSymbols,
significantFigures: significantFigures,
removeTrailingZeros: removeTrailingZeros);
}