Package org.djunits.benchmark
Class BenchmarkAnonymousInstantiation
java.lang.Object
org.djunits.benchmark.BenchmarkAnonymousInstantiation
BenschmarkAnonymousInstantiation.java.
Copyright (c) 2019-2024 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
Modifier and TypeMethodDescriptionstatic <S extends DoubleScalar<?,
S>>
SinstantiateAnonymousCached
(double value, Unit<?> unit) Instantiate the DoubleScalar based on its unit.static <S extends DoubleScalar<?,
S>>
SinstantiateAnonymousCascade
(double value, Unit<?> unit) Instantiate the DoubleScalar based on its unit.static <S extends DoubleScalar<?,
S>>
SinstantiateAnonymousMethodHandle
(double value, Unit<?> unit) Instantiate the DoubleScalar based on its unit.static <S extends DoubleScalar<?,
S>>
SinstantiateAnonymousNonCached
(double value, Unit<?> unit) Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,
S extends DoubleScalar<U, S>>
SinstantiateCached
(double value, U unit) Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,
S extends DoubleScalar<U, S>>
SinstantiateCascade
(double value, U unit) Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,
S extends DoubleScalar<U, S>>
SinstantiateMethodHandle
(double value, U unit) Instantiate the DoubleScalar based on its unit.static <U extends Unit<U>,
S extends DoubleScalar<U, S>>
SinstantiateNonCached
(double value, U unit) Instantiate the DoubleScalar based on its unit.static void
Benchmark for anonymous scalar instantiation.
-
Method Details
-
instantiateCached
public static <U extends Unit<U>,S extends DoubleScalar<U, S instantiateCachedS>> (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 DoubleScalar<?,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 DoubleScalar<U, S instantiateCascadeS>> (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 DoubleScalar<?,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 DoubleScalar<U, S instantiateNonCachedS>> (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 DoubleScalar<?,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 DoubleScalar<U, S instantiateMethodHandleS>> (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 DoubleScalar<?,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
-
main
Benchmark for anonymous scalar instantiation.- Parameters:
args
- empty- Throws:
Throwable
- on error
-