public abstract class oadd.org.joda.time.field.PreciseDurationDateTimeField extends oadd.org.joda.time.field.BaseDateTimeField
{
private static final long serialVersionUID;
final long iUnitMillis;
private final oadd.org.joda.time.DurationField iUnitField;
public void <init>(oadd.org.joda.time.DateTimeFieldType, oadd.org.joda.time.DurationField)
{
long v, v;
java.lang.IllegalArgumentException v, v;
oadd.org.joda.time.DurationField v;
byte v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
oadd.org.joda.time.DateTimeFieldType v;
boolean v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: oadd.org.joda.time.DateTimeFieldType;
v := @parameter: oadd.org.joda.time.DurationField;
specialinvoke v.<oadd.org.joda.time.field.BaseDateTimeField: void <init>(oadd.org.joda.time.DateTimeFieldType)>(v);
v = virtualinvoke v.<oadd.org.joda.time.DurationField: boolean isPrecise()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Unit duration field must be precise");
throw v;
label:
v = virtualinvoke v.<oadd.org.joda.time.DurationField: long getUnitMillis()>();
v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis> = v;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v cmp 1L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("The unit milliseconds must be at least 1");
throw v;
label:
v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: oadd.org.joda.time.DurationField iUnitField> = v;
return;
}
public boolean isLenient()
{
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
return 0;
}
public long set(long, int)
{
long v, v, v, v;
int v, v, v, v, v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: long;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: int getMinimumValue()>();
v = virtualinvoke v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: int getMaximumValueForSet(long,int)>(v, v);
staticinvoke <oadd.org.joda.time.field.FieldUtils: void verifyValueBounds(oadd.org.joda.time.DateTimeField,int,int,int)>(v, v, v, v);
v = virtualinvoke v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: int get(long)>(v);
v = v - v;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v * v;
v = v + v;
return v;
}
public long roundFloor(long)
{
long v, v, v, v, v, v, v, v, v, v;
byte v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: long;
v = v cmp 0L;
if v < 0 goto label;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
v = v - v;
return v;
label:
v = v + 1L;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
v = v - v;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v - v;
return v;
}
public long roundCeiling(long)
{
long v, v, v, v, v, v, v, v, v, v;
byte v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: long;
v = v cmp 0L;
if v <= 0 goto label;
v = v - 1L;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
v = v - v;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v + v;
return v;
label:
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
v = v - v;
return v;
}
public long remainder(long)
{
long v, v, v, v, v, v, v, v, v;
byte v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: long;
v = v cmp 0L;
if v < 0 goto label;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
return v;
label:
v = v + 1L;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v % v;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
v = v + v;
v = v - 1L;
return v;
}
public oadd.org.joda.time.DurationField getDurationField()
{
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
oadd.org.joda.time.DurationField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: oadd.org.joda.time.DurationField iUnitField>;
return v;
}
public int getMinimumValue()
{
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
return 0;
}
public final long getUnitMillis()
{
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
long v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v = v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: long iUnitMillis>;
return v;
}
protected int getMaximumValueForSet(long, int)
{
int v, v;
oadd.org.joda.time.field.PreciseDurationDateTimeField v;
long v;
v := @this: oadd.org.joda.time.field.PreciseDurationDateTimeField;
v := @parameter: long;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.field.PreciseDurationDateTimeField: int getMaximumValue(long)>(v);
return v;
}
}