|
FUNCTION valid_units (m : measure_with_unit) : BOOLEAN; IF 'measure_schema.length_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.mass_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.time_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.electric_current_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.thermodynamic_temperature_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.celsius_temperature_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.amount_of_substance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.luminous_intensity_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.plane_angle_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.solid_angle_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.area_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.volume_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 3.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.ratio_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.positive_length_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.positive_plane_angle_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.acceleration_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 1.0 , 0.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.capacitance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( - 2.0 , - 1.0 , 4.0 , 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.electric_charge_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 1.0 , 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.conductance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( - 2.0 , - 1.0 , 3.0 , 2.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.electric_potential_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 3.0 , - 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.energy_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.force_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 1.0 , 1.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.frequency_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , - 1.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.illuminance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.inductance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 2.0 , - 2.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.luminous_flux_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.magnetic_flux_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 2.0 , - 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.magnetic_flux_density_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 1.0 , - 2.0 , - 1.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.power_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 3.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.pressure_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( - 1.0 , 1.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.resistance_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 1.0 , - 3.0 , - 2.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.velocity_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 1.0 , 0.0 , - 1.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.radioactivity_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 0.0 , 0.0 , - 1.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.absorbed_dose_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 0.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; IF 'measure_schema.dose_equivalent_measure' IN TYPEOF ( m . value_component ) THEN IF derive_dimensional_exponents ( m . unit_component ) <> dimensional_exponents ( 2.0 , 0.0 , - 2.0 , 0.0 , 0.0 , 0.0 , 0.0 ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; RETURN ( TRUE ) ; END_FUNCTION; -- valid_units |
|
public class FValid_units public static Value run(SdaiContext _context, Value m) |