Changeset 989
- Timestamp:
- 10/28/08 11:41:09 (2 months ago)
- Files:
-
- branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ComposedCopula.cxx (modified) (3 diffs)
- branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ComposedCopula.hxx (modified) (1 diff)
- branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ExtraFunc/DistFunc.cxx (modified) (1 diff)
- branches/dutfoy/devel/lib/src/Uncertainty/Model/CopulaImplementation.cxx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ComposedCopula.cxx
r960 r989 328 328 if (conditioningDimension >= getDimension()) throw InvalidArgumentException(HERE) << "Error: cannot compute a conditional PDF with a conditioning point of dimension greater or equal to the distribution dimension."; 329 329 // Special case for no conditioning or independent copula 330 if ((conditioningDimension == 0) || (hasIndependentCopula())) return getMarginal(conditioningDimension)->compute PDF(x);330 if ((conditioningDimension == 0) || (hasIndependentCopula())) return getMarginal(conditioningDimension)->computeCDF(x); 331 331 // General case 332 332 UnsignedLong copulaIndex(0); … … 352 352 const UnsignedLong conditioningDimension(y.getDimension()); 353 353 if (conditioningDimension >= getDimension()) throw InvalidArgumentException(HERE) << "Error: cannot compute a conditional quantile with a conditioning point of dimension greater or equal to the distribution dimension."; 354 if (conditioningDimension == 0) return q; 354 355 if ((q <= 0.0) || (q >= 1.0)) throw InvalidArgumentException(HERE) << "Error: cannot compute a conditional quantile for a probability level outside of ]0, 1["; 355 356 // General case … … 423 424 } 424 425 425 /* Get the isoprobabilist transformation */426 ComposedCopula::IsoProbabilisticTransformation ComposedCopula::getIsoProbabilisticTransformation() const427 {428 throw NotYetImplementedException(HERE);429 }430 431 /* Get the inverse isoprobabilist transformation */432 ComposedCopula::InverseIsoProbabilisticTransformation ComposedCopula::getInverseIsoProbabilisticTransformation() const433 {434 throw NotYetImplementedException(HERE);435 }436 437 426 /* Get the standard distribution */ 438 427 ComposedCopula::Implementation ComposedCopula::getStandardDistribution() const branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ComposedCopula.hxx
r960 r989 129 129 virtual NumericalScalar computeConditionalQuantile(const NumericalScalar q, const NumericalPoint & y) const; 130 130 131 /** Get the isoprobabilist transformation */132 IsoProbabilisticTransformation getIsoProbabilisticTransformation() const;133 134 /** Get the inverse isoprobabilist transformation */135 InverseIsoProbabilisticTransformation getInverseIsoProbabilisticTransformation() const;136 137 131 /** Get the standard distribution */ 138 132 Implementation getStandardDistribution() const; branches/dutfoy/devel/lib/src/Uncertainty/Distribution/ExtraFunc/DistFunc.cxx
r960 r989 415 415 NumericalScalar DistFunc::qNormal(const NumericalScalar x, const Bool tail) 416 416 { 417 if (x == 0.0) return -0.5 * sqrt(4.0 * (log(SpecFunc::ISQRT2PI) - SpecFunc::LogMinNumericalScalar)); 418 if (x == 1.0) return 0.5 * sqrt(4.0 * (log(SpecFunc::ISQRT2PI) - SpecFunc::LogMinNumericalScalar)); 417 419 #ifdef USE_DCDFLIB 418 420 NumericalScalar p(x); branches/dutfoy/devel/lib/src/Uncertainty/Model/CopulaImplementation.cxx
r960 r989 215 215 IndependentCopula result(1); 216 216 result.setWeight(getWeight()); 217 return new IndependentCopula(result);217 return result.clone(); 218 218 } 219 219
