Package org.djunits.benchmark
Class BenchmarkAnonymousInstantiation
java.lang.Object
org.djunits.benchmark.BenchmarkAnonymousInstantiation
BenschmarkAnonymousInstantiation.java.
Copyright (c) 2019-2025 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 voidBenchmark 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- the valueunit- 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- the valueunit- 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- the valueunit- 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- the valueunit- 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- the valueunit- 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- the valueunit- 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- the valueunit- 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- the valueunit- 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
-