scifir-units 2.0.0
scifir-units is a library of units of measurement, angles, coordinates, fields, and related data, all lightweight, that help in the development of scientific software and scientific machines
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
scifir::conversion Class Reference

#include <conversion.hpp>

Public Types

enum  type {
  NONE , HECTARE , DYNE , BARYE ,
  BAR , MILLIBAR , CENTIBAR , DECIBAR ,
  KILOBAR , MEGABAR , ATMOSPHERE , MILIMETRES_MERCURY ,
  TORRICELLI , CUBIC_CENTIMETRES , FAHRENHEIT , WATT_HOUR ,
  KILOWATT_HOUR , IMPERIAL_TWIP , IMPERIAL_THOU , IMPERIAL_BARLEYCORN ,
  IMPERIAL_INCH , IMPERIAL_HAND , IMPERIAL_FOOT , IMPERIAL_YARD ,
  IMPERIAL_CHAIN , IMPERIAL_FURLONG , IMPERIAL_MILE , IMPERIAL_LEAGUE ,
  IMPERIAL_FATHOM , IMPERIAL_CABLE , IMPERIAL_NAUTICAL_MILE , IMPERIAL_LINK ,
  IMPERIAL_ROD , IMPERIAL_PERCH , IMPERIAL_ROOD , IMPERIAL_ACRE ,
  IMPERIAL_SQUARE_MILE , IMPERIAL_FLUID_OUNCE , IMPERIAL_GILL , IMPERIAL_PINT ,
  IMPERIAL_QUART , IMPERIAL_GALLON , IMPERIAL_MINIM , IMPERIAL_FLUID_SCRUPLE ,
  IMPERIAL_FLUID_DRACHM , IMPERIAL_GRAIN , IMPERIAL_DRACHM , IMPERIAL_OUNCE ,
  IMPERIAL_POUND , IMPERIAL_STONE , IMPERIAL_QUARTER , IMPERIAL_HUNDREDWEIGHT ,
  IMPERIAL_TON , IMPERIAL_SLUG , IMPERIAL_HORSEPOWER , US_TWIP ,
  US_MIL , US_POINT , US_PICA , US_INCH ,
  US_FOOT , US_YARD , US_MILE , US_LEAGUE ,
  US_FATHOM , US_CABLE , US_NAUTICAL_MILE , US_LINK ,
  US_ROD , US_CHAIN , US_FURLONG , US_SQUARE_FOOT ,
  US_SQUARE_CHAIN , US_ACRE , US_SECTION , US_SURVEY_TOWNSHIP ,
  US_CUBIC_INCH , US_CUBIC_FOOT , US_CUBIC_YARD , US_ACRE_FOOT ,
  US_MINIM , US_FLUID_DRAM , US_TEASPOON , US_TABLESPOON ,
  US_FLUID_OUNCE , US_SHOT , US_GILL , US_CUP ,
  US_PINT , US_QUART , US_POTTLE , US_GALLON ,
  US_BARREL , US_OIL_BARREL , US_HOGSHEAD , US_PECK ,
  US_BUSHEL , US_GRAIN , US_DRAM , US_OUNCE ,
  US_POUND , US_SHORT_HUNDREDWEIGHT , US_LONG_HUNDREDWEIGHT , US_SHORT_TON ,
  US_LONG_TON , US_PENNYWEIGHT , US_TROY_OUNCE , US_TROY_POUND ,
  US_DESSERTSPOON , US_HAND , US_RACK , US_BOARD_FOOT ,
  US_SLUG , US_POUNDAL , US_KIP , US_FOOT_POUND ,
  US_HORSEPOWER , US_REFRIGERATION_TON , US_INCH_MERCURY , US_POUND_PER_SQUARE_INCH ,
  US_POUND_FOOT , QUINTAL , CARAT , QUAD ,
  BRITISH_THERMAL_UNIT , CUSTOM
}
 

Public Member Functions

 conversion ()
 
 conversion (const conversion::type new_conversion_type)
 
long double get_conversion_factor () const
 
vector< dimensionget_conversion_dimensions () const
 
bool is_special_conversion () const
 

Public Attributes

conversion::type conversion_type
 

Detailed Description

Definition at line 13 of file conversion.hpp.

Member Enumeration Documentation

◆ type

Enumerator
NONE 
HECTARE 
DYNE 
BARYE 
BAR 
MILLIBAR 
CENTIBAR 
DECIBAR 
KILOBAR 
MEGABAR 
ATMOSPHERE 
MILIMETRES_MERCURY 
TORRICELLI 
CUBIC_CENTIMETRES 
FAHRENHEIT 
WATT_HOUR 
KILOWATT_HOUR 
IMPERIAL_TWIP 
IMPERIAL_THOU 
IMPERIAL_BARLEYCORN 
IMPERIAL_INCH 
IMPERIAL_HAND 
IMPERIAL_FOOT 
IMPERIAL_YARD 
IMPERIAL_CHAIN 
IMPERIAL_FURLONG 
IMPERIAL_MILE 
IMPERIAL_LEAGUE 
IMPERIAL_FATHOM 
IMPERIAL_CABLE 
IMPERIAL_NAUTICAL_MILE 
IMPERIAL_LINK 
IMPERIAL_ROD 
IMPERIAL_PERCH 
IMPERIAL_ROOD 
IMPERIAL_ACRE 
IMPERIAL_SQUARE_MILE 
IMPERIAL_FLUID_OUNCE 
IMPERIAL_GILL 
IMPERIAL_PINT 
IMPERIAL_QUART 
IMPERIAL_GALLON 
IMPERIAL_MINIM 
IMPERIAL_FLUID_SCRUPLE 
IMPERIAL_FLUID_DRACHM 
IMPERIAL_GRAIN 
IMPERIAL_DRACHM 
IMPERIAL_OUNCE 
IMPERIAL_POUND 
IMPERIAL_STONE 
IMPERIAL_QUARTER 
IMPERIAL_HUNDREDWEIGHT 
IMPERIAL_TON 
IMPERIAL_SLUG 
IMPERIAL_HORSEPOWER 
US_TWIP 
US_MIL 
US_POINT 
US_PICA 
US_INCH 
US_FOOT 
US_YARD 
US_MILE 
US_LEAGUE 
US_FATHOM 
US_CABLE 
US_NAUTICAL_MILE 
US_LINK 
US_ROD 
US_CHAIN 
US_FURLONG 
US_SQUARE_FOOT 
US_SQUARE_CHAIN 
US_ACRE 
US_SECTION 
US_SURVEY_TOWNSHIP 
US_CUBIC_INCH 
US_CUBIC_FOOT 
US_CUBIC_YARD 
US_ACRE_FOOT 
US_MINIM 
US_FLUID_DRAM 
US_TEASPOON 
US_TABLESPOON 
US_FLUID_OUNCE 
US_SHOT 
US_GILL 
US_CUP 
US_PINT 
US_QUART 
US_POTTLE 
US_GALLON 
US_BARREL 
US_OIL_BARREL 
US_HOGSHEAD 
US_PECK 
US_BUSHEL 
US_GRAIN 
US_DRAM 
US_OUNCE 
US_POUND 
US_SHORT_HUNDREDWEIGHT 
US_LONG_HUNDREDWEIGHT 
US_SHORT_TON 
US_LONG_TON 
US_PENNYWEIGHT 
US_TROY_OUNCE 
US_TROY_POUND 
US_DESSERTSPOON 
US_HAND 
US_RACK 
US_BOARD_FOOT 
US_SLUG 
US_POUNDAL 
US_KIP 
US_FOOT_POUND 
US_HORSEPOWER 
US_REFRIGERATION_TON 
US_INCH_MERCURY 
US_POUND_PER_SQUARE_INCH 
US_POUND_FOOT 
QUINTAL 
CARAT 
QUAD 
BRITISH_THERMAL_UNIT 
CUSTOM 

Definition at line 16 of file conversion.hpp.

17
18 /* Imperial units */
20
21 /* US customary units of measurement */
23

Constructor & Destructor Documentation

◆ conversion() [1/2]

scifir::conversion::conversion ( )

Definition at line 7 of file conversion.cpp.

8 {}
conversion::type conversion_type

◆ conversion() [2/2]

scifir::conversion::conversion ( const conversion::type  new_conversion_type)
explicit

Definition at line 10 of file conversion.cpp.

10 : conversion_type(new_conversion_type)
11 {}

Member Function Documentation

◆ get_conversion_dimensions()

vector< dimension > scifir::conversion::get_conversion_dimensions ( ) const

Definition at line 273 of file conversion.cpp.

274 {
275 vector<dimension> conversion_dimensions = vector<dimension>();
276 switch(conversion_type)
277 {
278 case conversion::NONE:
279 conversion_dimensions.push_back(dimension(dimension::NONE,prefix::NONE,dimension::NUMERATOR));
280 break;
282 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::HECTO,dimension::NUMERATOR));
283 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::HECTO,dimension::NUMERATOR));
284 break;
285 case conversion::DYNE:
286 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
287 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::CENTI,dimension::NUMERATOR));
288 conversion_dimensions.push_back(dimension(dimension::SECOND,prefix::NONE,dimension::DENOMINATOR));
289 conversion_dimensions.push_back(dimension(dimension::SECOND,prefix::NONE,dimension::DENOMINATOR));
290 break;
292 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
293 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::CENTI,dimension::DENOMINATOR));
294 conversion_dimensions.push_back(dimension(dimension::SECOND,prefix::NONE,dimension::DENOMINATOR));
295 conversion_dimensions.push_back(dimension(dimension::SECOND,prefix::NONE,dimension::DENOMINATOR));
296 break;
297 case conversion::BAR:
298 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
299 break;
301 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
302 break;
304 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
305 break;
307 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
308 break;
310 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
311 break;
313 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
314 break;
316 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
317 break;
319 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
320 break;
322 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
323 break;
325 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
326 break;
328 conversion_dimensions.push_back(dimension(dimension::KELVIN,prefix::NONE,dimension::NUMERATOR));
329 break;
331 conversion_dimensions.push_back(dimension(dimension::JOULE,prefix::NONE,dimension::NUMERATOR));
332 break;
334 conversion_dimensions.push_back(dimension(dimension::JOULE,prefix::NONE,dimension::NUMERATOR));
335 break;
337 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
338 break;
340 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
341 break;
343 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
344 break;
346 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
347 break;
349 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
350 break;
352 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
353 break;
355 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
356 break;
358 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
359 break;
361 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
362 break;
364 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
365 break;
367 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
368 break;
370 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
371 break;
373 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
374 break;
376 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
377 break;
379 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
380 break;
382 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
383 break;
385 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
386 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
387 break;
389 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
390 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
391 break;
393 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
394 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
395 break;
397 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
398 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
399 break;
401 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
402 break;
404 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
405 break;
407 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
408 break;
410 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
411 break;
413 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
414 break;
416 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MICRO,dimension::NUMERATOR));
417 break;
419 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
420 break;
422 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
423 break;
425 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::MILLI,dimension::NUMERATOR));
426 break;
428 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
429 break;
431 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
432 break;
434 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
435 break;
437 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
438 break;
440 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
441 break;
443 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
444 break;
446 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
447 break;
449 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
450 break;
452 conversion_dimensions.push_back(dimension(dimension::WATT,prefix::NONE,dimension::NUMERATOR));
453 break;
455 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
456 break;
458 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MICRO,dimension::NUMERATOR));
459 break;
461 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
462 break;
464 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
465 break;
467 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
468 break;
470 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
471 break;
473 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
474 break;
476 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
477 break;
479 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
480 break;
482 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
483 break;
485 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
486 break;
488 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
489 break;
491 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
492 break;
494 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
495 break;
497 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
498 break;
500 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
501 break;
503 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
504 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
505 break;
507 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
508 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
509 break;
511 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
512 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
513 break;
515 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
516 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
517 break;
519 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
520 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::KILO,dimension::NUMERATOR));
521 break;
523 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
524 break;
526 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
527 break;
529 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
530 break;
532 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MEGA,dimension::NUMERATOR));
533 break;
535 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MICRO,dimension::NUMERATOR));
536 break;
538 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
539 break;
541 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
542 break;
544 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
545 break;
547 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
548 break;
550 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
551 break;
553 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
554 break;
556 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
557 break;
559 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
560 break;
562 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
563 break;
565 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
566 break;
568 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
569 break;
571 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
572 break;
574 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
575 break;
577 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
578 break;
580 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
581 break;
583 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::NONE,dimension::NUMERATOR));
584 break;
586 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::MILLI,dimension::NUMERATOR));
587 break;
589 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
590 break;
592 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
593 break;
595 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
596 break;
598 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
599 break;
601 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
602 break;
604 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
605 break;
607 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
608 break;
610 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
611 break;
613 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
614 break;
616 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
617 break;
619 conversion_dimensions.push_back(dimension(dimension::LITRE,prefix::MILLI,dimension::NUMERATOR));
620 break;
622 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
623 break;
625 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::MILLI,dimension::NUMERATOR));
626 break;
628 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::DECI,dimension::NUMERATOR));
629 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::DECI,dimension::NUMERATOR));
630 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::DECI,dimension::NUMERATOR));
631 break;
633 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
634 break;
636 conversion_dimensions.push_back(dimension(dimension::NEWTON,prefix::NONE,dimension::NUMERATOR));
637 break;
639 conversion_dimensions.push_back(dimension(dimension::NEWTON,prefix::KILO,dimension::NUMERATOR));
640 break;
642 conversion_dimensions.push_back(dimension(dimension::JOULE,prefix::NONE,dimension::NUMERATOR));
643 break;
645 conversion_dimensions.push_back(dimension(dimension::WATT,prefix::NONE,dimension::NUMERATOR));
646 break;
648 conversion_dimensions.push_back(dimension(dimension::WATT,prefix::KILO,dimension::NUMERATOR));
649 break;
651 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
652 break;
654 conversion_dimensions.push_back(dimension(dimension::PASCAL,prefix::NONE,dimension::NUMERATOR));
655 break;
657 conversion_dimensions.push_back(dimension(dimension::NEWTON,prefix::NONE,dimension::NUMERATOR));
658 conversion_dimensions.push_back(dimension(dimension::METRE,prefix::NONE,dimension::NUMERATOR));
659 break;
661 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::KILO,dimension::NUMERATOR));
662 break;
664 conversion_dimensions.push_back(dimension(dimension::GRAM,prefix::NONE,dimension::NUMERATOR));
665 break;
666 case conversion::QUAD:
667 conversion_dimensions.push_back(dimension(dimension::JOULE,prefix::EXA,dimension::NUMERATOR));
668 break;
670 conversion_dimensions.push_back(dimension(dimension::JOULE,prefix::NONE,dimension::NUMERATOR));
671 break;
673 conversion_dimensions.push_back(dimension(dimension::NONE,prefix::NONE,dimension::NUMERATOR));
674 break;
675 };
676 return conversion_dimensions;
677 }
@ DENOMINATOR
The dimension is at the denominator.
Definition dimension.hpp:38
@ NUMERATOR
The dimension is at the numerator.
Definition dimension.hpp:38
@ NONE
No dimension. Default value for the default constructor.
Definition dimension.hpp:35
@ LITRE
Litre, plural litres. The derived dimensions are dm3. Dimension of volume. Symbol L.
Definition dimension.hpp:35
@ GRAM
Gram, plural grams. SI dimension of mass. Symbol g.
Definition dimension.hpp:35
@ PASCAL
Pascal, plural pascals. The derived dimensions are kg / s2 * m. Dimension of pressure....
Definition dimension.hpp:35
@ WATT
Watt, plural watts. The derived dimensions are kg * m2 / s3. Dimension of power. Special name....
Definition dimension.hpp:35
@ NEWTON
Newton, plural newtons. The derived dimensions are kg * m / s2. Dimension of force....
Definition dimension.hpp:35
@ SECOND
Second, plural seconds. SI dimension of time. Symbol s.
Definition dimension.hpp:35
@ JOULE
Joule, plural joules. The derived dimensions are kg * m2 / s2. Dimension of energy....
Definition dimension.hpp:35
@ KELVIN
Kelvin, plural kelvins. SI dimension of temperature. Symbol K.
Definition dimension.hpp:35
@ METRE
Meter, plural meters. SI dimension of length. Symbol m.
Definition dimension.hpp:35
@ MILLI
Prefix of a factor of 10^-3.
Definition prefix.hpp:16
@ NONE
There is no prefix. Then, the dimension is not increased or decreased by some factor.
Definition prefix.hpp:16
@ EXA
Prefix of a factor of 10^18.
Definition prefix.hpp:16
@ KILO
Prefix of a factor of 10^3.
Definition prefix.hpp:16
@ MEGA
Prefix of a factor of 10^6.
Definition prefix.hpp:16
@ HECTO
Prefix of a factor of 10^2.
Definition prefix.hpp:16
@ CENTI
Prefix of a factor of 10^-2.
Definition prefix.hpp:16
@ DECI
Prefix of a factor of 10^-1.
Definition prefix.hpp:16
@ MICRO
Prefix of a factor of 10^-6.
Definition prefix.hpp:16

◆ get_conversion_factor()

long double scifir::conversion::get_conversion_factor ( ) const

Definition at line 13 of file conversion.cpp.

14 {
15 switch(conversion_type)
16 {
18 return 0.0L;
20 return 1.0L;
22 return 1.0L;
24 return 1.0L;
25 case conversion::BAR:
26 return 100000.0L;
28 return 100.0L;
30 return 1000.0L;
32 return 10000.0L;
34 return 100000000.0L;
36 return 100000000000.0L;
38 return 101325.0L;
40 return 133.322387415L;
42 return 101325.0L / 760.0L;
44 return 1.0L;
46 return 1.0L;
48 return 3600.0L;
50 return 3600000.0L;
52 return 0.0000176389L;
54 return 0.0000254L;
56 return 0.0084667L;
58 return 0.0254L;
60 return 0.1016L;
62 return 0.3048L;
64 return 0.9144L;
66 return 20.1168L;
68 return 201.168L;
70 return 1609.344L;
72 return 4828.032L;
74 return 1.852L;
76 return 185.2L;
78 return 1852.0L;
80 return 0.201168L;
82 return 5.0292L;
84 return 25.29285264L;
86 return 1011.7141056L;
88 return 4046.8564224L;
90 return 2589988.110336L;
92 return 28.4130625L;
94 return 142.0653125L;
96 return 568.26125L;
98 return 1136.5225L;
100 return 4546.09L;
102 return 59.1938802083L;
104 return 1.18387760416L;
106 return 3.5516328125L;
108 return 64.79891L;
110 return 1.7718451953125L;
112 return 28.349523125L;
114 return 0.45359237L;
116 return 6.35029318L;
118 return 12.70058636L;
120 return 50.80234544L;
122 return 1016.0469088L;
124 return 14.59390294L;
126 return 745.7L;
128 return (25.4L / 1440.0L);
130 return 25.4L;
132 return (127.0L / 360.0L);
134 return (127.0L / 30.0L);
136 return 25.4L;
138 return 0.3048L;
140 return 0.9144L;
142 return 1.609344L;
144 return 4.828032L;
146 return (1143.0L / 625.0L);
148 return (3429.0L / 15625.0L);
150 return 1.852L;
152 return 0.201168L;
154 return 5.0292L;
156 return 20.1168L;
158 return 201.168L;
160 return 0.09290341L;
162 return 404.68564224L;
164 return 4046.8564224L;
166 return 2.589998L;
168 return 93.23993L;
170 return 16.387064L;
172 return 28.316846592L;
174 return 764.554857984L;
176 return 1.23348183754752L;
178 return 61.611519921875L;
180 return 3.6966911953125L;
182 return 4.92892159375L;
184 return 14.78676478125L;
186 return 29.5735295625L;
188 return 44.36029434375L;
190 return 118.29411825L;
192 return 236.5882365L;
194 return 0.473176473L;
196 return 0.946352946L;
198 return 1.892705892L;
200 return 3.785411784L;
202 return 119.240471196L;
204 return 158.987294928L;
206 return 238.480942392L;
208 return 8.8097675417199L;
210 return 35.239070166879L;
212 return 64.79891L;
214 return 1.771845195L;
216 return 28.349523125L;
218 return 453.59237L;
220 return 45.359237L;
222 return 50.80234544L;
224 return 907.18474L;
226 return 1016.0469088L;
228 return 1.55517384L;
230 return 31.1034768L;
232 return 373.2417216L;
234 return 10.0L;
236 return 101.6L;
238 return 44.45L;
240 return 2.36L;
242 return 14.5939L;
244 return 0.138L;
246 return 4.44822L;
248 return 1.356L;
250 return 745.7L;
252 return 3.516853L;
254 return 3386.39L;
256 return 6895.0L;
258 return 1.355818L;
260 return 100.0L;
262 return 0.2L;
263 case conversion::QUAD:
264 return 1.055L;
266 return 1.055L;
268 return 0.0L;
269 };
270 return 0.0L;
271 }

◆ is_special_conversion()

bool scifir::conversion::is_special_conversion ( ) const

Definition at line 679 of file conversion.cpp.

680 {
682 {
683 return true;
684 }
685 else
686 {
687 return false;
688 }
689 }

Member Data Documentation

◆ conversion_type

conversion::type scifir::conversion::conversion_type

Definition at line 34 of file conversion.hpp.


The documentation for this class was generated from the following files: