Package org.djunits.benchmark
Class BenchmarkAnonymousInstantiation
- java.lang.Object
-
- org.djunits.benchmark.BenchmarkAnonymousInstantiation
-
public final class BenchmarkAnonymousInstantiation extends Object
BenschmarkAnonymousInstantiation.java.Copyright (c) 2019-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License- Author:
- Alexander Verbraeck
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <S extends AbstractDoubleScalar<?,S>>
SinstantiateAnonymousCached(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit.static <S extends AbstractDoubleScalar<?,S>>
SinstantiateAnonymousCascade(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit.static <S extends AbstractDoubleScalar<?,S>>
SinstantiateAnonymousMethodHandle(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit.static <S extends AbstractDoubleScalar<?,S>>
SinstantiateAnonymousNonCached(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>>
SinstantiateCached(double value, U unit)
Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>>
SinstantiateCascade(double value, U unit)
Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>>
SinstantiateMethodHandle(double value, U unit)
Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>>
SinstantiateNonCached(double value, U unit)
Instantiate the DoubleScalar based on its unit.static void
main(String[] args)
Benchmark for anonymous scalar instantiation.
-
-
-
Method Detail
-
instantiateCached
public static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>> S instantiateCached(double value, U unit)
Instantiate the DoubleScalar based on its unit. Rigid check on types for the compiler.- Type Parameters:
U
- the unitS
- the return type- Parameters:
value
- double; the valueunit
- U; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateAnonymousCached
public static <S extends AbstractDoubleScalar<?,S>> S instantiateAnonymousCached(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit. Loose check for types on the compiler. This allows the unit to be specified as a Unit<?> type.
Note that it is possible to make mistakes with anonymous units.- Type Parameters:
S
- the return type- Parameters:
value
- double; the valueunit
- Unit<?>; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateCascade
public static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>> S instantiateCascade(double value, U unit)
Instantiate the DoubleScalar based on its unit. Rigid check on types for the compiler.- Type Parameters:
U
- the unitS
- the return type- Parameters:
value
- double; the valueunit
- U; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateAnonymousCascade
public static <S extends AbstractDoubleScalar<?,S>> S instantiateAnonymousCascade(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit. Loose check for types on the compiler. This allows the unit to be specified as a Unit<?> type.
Note that it is possible to make mistakes with anonymous units.- Type Parameters:
S
- the return type- Parameters:
value
- double; the valueunit
- Unit<?>; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateNonCached
public static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>> S instantiateNonCached(double value, U unit)
Instantiate the DoubleScalar based on its unit. Rigid check on types for the compiler.- Type Parameters:
U
- the unitS
- the return type- Parameters:
value
- double; the valueunit
- U; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateAnonymousNonCached
public static <S extends AbstractDoubleScalar<?,S>> S instantiateAnonymousNonCached(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit. Loose check for types on the compiler. This allows the unit to be specified as a Unit<?> type.
Note that it is possible to make mistakes with anonymous units.- Type Parameters:
S
- the return type- Parameters:
value
- double; the valueunit
- Unit<?>; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateMethodHandle
public static <U extends Unit<U>,S extends AbstractDoubleScalar<U,S>> S instantiateMethodHandle(double value, U unit)
Instantiate the DoubleScalar based on its unit. Rigid check on types for the compiler.- Type Parameters:
U
- the unitS
- the return type- Parameters:
value
- double; the valueunit
- U; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
instantiateAnonymousMethodHandle
public static <S extends AbstractDoubleScalar<?,S>> S instantiateAnonymousMethodHandle(double value, Unit<?> unit)
Instantiate the DoubleScalar based on its unit. Loose check for types on the compiler. This allows the unit to be specified as a Unit<?> type.
Note that it is possible to make mistakes with anonymous units.- Type Parameters:
S
- the return type- Parameters:
value
- double; the valueunit
- Unit<?>; the unit in which the value is expressed- Returns:
- an instantiated DoubleScalar with the value expressed in the unit
-
-